// File generated with Tower of Babel version: 5.3-beta on 08/30/17
var __extends = this.__extends || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var node3_chassis_tray_mlb_cpu_dimm_x3_2;
(function (node3_chassis_tray_mlb_cpu_dimm_x3_2) {
    var _B = BABYLON;
    var _M = _B.Matrix.FromValues;
    var _Q = _B.Quaternion;
    var _V = _B.Vector3;
    function CONTIG(array, offset, begin, end) {
        for(var i = 0, len = 1 + end - begin; i < len; i++) {
            array[offset + i] = begin + i;
        }
    }
    function REPEAT(array, offset, nRepeats, val) {
        for(var i = 0; i < nRepeats; i++) {
            array[offset + i] = val;
        }
    }
    var _sceneTransitionName;
    var _overriddenMillis;
    var _overriddenSound;
    var _options;

    function initScene(scene, resourcesRootDir, positionOffset, sceneTransitionName, overriddenMillis, overriddenSound, options) {
        if (!resourcesRootDir) { resourcesRootDir = "./"; }
        function MOVE(mesh, positionOffset) {
            mesh.position.addInPlace(positionOffset);
            if (mesh.isWorldMatrixFrozen) mesh.freezeWorldMatrix();
        }

        _sceneTransitionName = sceneTransitionName;
        _overriddenMillis    = overriddenMillis;
        _overriddenSound     = overriddenSound;
        _options             = options;

        scene.autoClear = true;
        scene.clearColor    = new _B.Color3(.0509,.0509,.0509);
        scene.ambientColor  = new _B.Color3(0,0,0);
        scene.gravity = new _V(0,-9.81,0);

        // define materials before meshes
        defineMaterials(scene, resourcesRootDir);

        // instance all root meshes
        var mesh;
        mesh = new chassis("chassis", scene);
        if (positionOffset) MOVE(mesh, positionOffset);

        if (sceneTransitionName && matLoaded) {
            QI.SceneTransition.perform(sceneTransitionName, waitingMeshes, overriddenMillis, overriddenSound, options);
        }
    }
    node3_chassis_tray_mlb_cpu_dimm_x3_2.initScene = initScene;

    var waitingMeshes = [];
    var pendingTextures = 0;
    var texLoadStart = 0;
    function onTexturesLoaded(){
        if (--pendingTextures > 0) return;
        _B.Tools.Log("Texture Load delay:  " + ((_B.Tools.Now - texLoadStart) / 1000).toFixed(2) + " secs");
        if (_sceneTransitionName) QI.SceneTransition.perform(_sceneTransitionName, waitingMeshes, _overriddenMillis, _overriddenSound, _options);
        else {
            for (var i = 0, len = waitingMeshes.length; i < len; i++) {
                if (!waitingMeshes[i].initComplete) continue;
                if (typeof waitingMeshes[i].grandEntrance == "function") waitingMeshes[i].grandEntrance();
                else makeVisible(waitingMeshes[i]);
            }
        }
        waitingMeshes = [];
        _sceneTransitionName = null;
        matLoaded = true;
    }

    // QI.Mesh has similar method, using this to not require QI
    function makeVisible(mesh){
        var children = mesh.getChildMeshes();
        mesh.isVisible = true;
        for (var i = 0, len = children.length; i < len; i++) {
            children[i].isVisible = true;
        }
    }

    var aheadQueued = false;
    function matReadAhead(materialsRootDir) {
        if (aheadQueued) return;
        var txBuffer;
        var fName;

        aheadQueued = true;
    }
    node3_chassis_tray_mlb_cpu_dimm_x3_2.matReadAhead = matReadAhead;

    var matLoaded = false;
    function defineMaterials(scene, materialsRootDir) {
        if (!materialsRootDir) { materialsRootDir = "./"; }
        if (materialsRootDir.lastIndexOf("/") + 1  !== materialsRootDir.length) { materialsRootDir  += "/"; }
        if (typeof(QI) !== "undefined") QI.TimelineControl.initialize(scene);
        if (typeof(TOWER_OF_BABEL) !== "undefined") TOWER_OF_BABEL.Preloader.SCENE = scene;
        var loadStart = _B.Tools.Now;
        matReadAhead(materialsRootDir);
        var material;
        var texture;
        var txBuffer;

        material = scene.getMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.001");
        if (!material){
            material = new _B.StandardMaterial("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.001", scene);
            material.ambientColor  = new _B.Color3(.7454,.7454,.7454);
            material.diffuseColor  = new _B.Color3(.5963,.5963,.5963);
            material.emissiveColor = new _B.Color3(0,0,0);
            material.specularColor = new _B.Color3(.5,.5,.5);
            material.specularPower = 50;
            material.alpha =  1;
            material.backFaceCulling = true;
            material.checkReadyOnlyOnce = false;
            material.maxSimultaneousLights = 4;
        } else material.markDirty();

        material = scene.getMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.MTL0.001");
        if (!material){
            material = new _B.StandardMaterial("node3_chassis_tray_mlb_cpu_dimm_x3_2.MTL0.001", scene);
            material.ambientColor  = new _B.Color3(.7454,.7454,.7454);
            material.diffuseColor  = new _B.Color3(.5963,.5963,.5963);
            material.emissiveColor = new _B.Color3(0,0,0);
            material.specularColor = new _B.Color3(.5,.5,.5);
            material.specularPower = 50;
            material.alpha =  1;
            material.backFaceCulling = true;
            material.checkReadyOnlyOnce = false;
            material.maxSimultaneousLights = 4;
        } else material.markDirty();

        material = scene.getMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.003");
        if (!material){
            material = new _B.StandardMaterial("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.003", scene);
            material.ambientColor  = new _B.Color3(.018,.248,.051);
            material.diffuseColor  = new _B.Color3(.0144,.1984,.0408);
            material.emissiveColor = new _B.Color3(0,0,0);
            material.specularColor = new _B.Color3(.5,.5,.5);
            material.specularPower = 50;
            material.alpha =  1;
            material.backFaceCulling = true;
            material.checkReadyOnlyOnce = false;
            material.maxSimultaneousLights = 4;
        } else material.markDirty();

        material = scene.getMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
        if (!material){
            material = new _B.StandardMaterial("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005", scene);
            material.ambientColor  = new _B.Color3(.012,.8,.1845);
            material.diffuseColor  = new _B.Color3(.0096,.64,.1476);
            material.emissiveColor = new _B.Color3(0,0,0);
            material.specularColor = new _B.Color3(.5,.5,.5);
            material.specularPower = 50;
            material.alpha =  1;
            material.backFaceCulling = true;
            material.checkReadyOnlyOnce = false;
            material.maxSimultaneousLights = 4;
        } else material.markDirty();

        material = scene.getMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.006");
        if (!material){
            material = new _B.StandardMaterial("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.006", scene);
            material.ambientColor  = new _B.Color3(.2883,.2883,.2883);
            material.diffuseColor  = new _B.Color3(.2306,.2306,.2306);
            material.emissiveColor = new _B.Color3(0,0,0);
            material.specularColor = new _B.Color3(.5,.5,.5);
            material.specularPower = 50;
            material.alpha =  1;
            material.backFaceCulling = true;
            material.checkReadyOnlyOnce = false;
            material.maxSimultaneousLights = 4;
        } else material.markDirty();

        material = scene.getMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
        if (!material){
            material = new _B.StandardMaterial("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009", scene);
            material.ambientColor  = new _B.Color3(.141,.0964,.8);
            material.diffuseColor  = new _B.Color3(.1128,.0771,.64);
            material.emissiveColor = new _B.Color3(0,0,0);
            material.specularColor = new _B.Color3(.5,.5,.5);
            material.specularPower = 50;
            material.alpha =  1;
            material.backFaceCulling = true;
            material.checkReadyOnlyOnce = false;
            material.maxSimultaneousLights = 4;
        } else material.markDirty();

        material = scene.getMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.DEFAULT_MTL");
        if (!material){
            material = new _B.StandardMaterial("node3_chassis_tray_mlb_cpu_dimm_x3_2.DEFAULT_MTL", scene);
            material.ambientColor  = new _B.Color3(.8,.8,.8);
            material.diffuseColor  = new _B.Color3(.64,.64,.64);
            material.emissiveColor = new _B.Color3(0,0,0);
            material.specularColor = new _B.Color3(.5,.5,.5);
            material.specularPower = 50;
            material.alpha =  1;
            material.backFaceCulling = true;
            material.checkReadyOnlyOnce = false;
            material.maxSimultaneousLights = 4;
        } else material.markDirty();

        matLoaded = pendingTextures === 0;
        if (!matLoaded) texLoadStart = _B.Tools.Now;
        _B.Tools.Log("node3_chassis_tray_mlb_cpu_dimm_x3_2.defineMaterials completed:  " + ((_B.Tools.Now - loadStart) / 1000).toFixed(2) + " secs");
    }
    node3_chassis_tray_mlb_cpu_dimm_x3_2.defineMaterials = defineMaterials;

    var chassis = (function (_super) {
        __extends(chassis, _super);
        function chassis(name, scene, materialsRootDir, source) {
            _super.call(this, name, scene, null, source, true);

            if (!materialsRootDir) { materialsRootDir = "./"; }
            defineMaterials(scene, materialsRootDir); //embedded version check
            var cloning = source && source !== null;
            var load = _B.Tools.Now;
            var geo = 0;
            var shape = 0;
            this.position.x  = 0;
            this.position.y  = 18.1227;
            this.position.z  = .0001;
            this.rotation.x  = 0;
            this.rotation.y  = 0;
            this.rotation.z  = 0;
            this.scaling.x   = 1;
            this.scaling.y   = 1;
            this.scaling.z   = 1;
            this.nodeA_002 = cloning ? child_nodeA_002(scene, this, source.nodeA_002) : child_nodeA_002(scene, this);
            this.nodeA_001 = cloning ? child_nodeA_001(scene, this, source.nodeA_001) : child_nodeA_001(scene, this);
            this.nodeA = cloning ? child_nodeA(scene, this, source.nodeA) : child_nodeA(scene, this);

            this.id = this.name;
            this.billboardMode  = 0;
            this.isVisible  = false; //always false; evaluated again at bottom
            this.setEnabled(true);
            this.checkCollisions = false;
            this.receiveShadows  = false;
            this.castShadows  = false;
            this.initComplete = false;
            if (!cloning){
                geo = _B.Tools.Now;
                this.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                    88.0885,23.7715,211.7231,88.0886,-16.6203,-185.7458,88.0885,23.7715,-314.074,89.5778,-16.6203,-314.074,89.5778,-16.6203,-186.9456,89.5777,23.7715,-314.074,89.5777,23.7715,211.7231,88.0886,-16.6203,-314.074,-89.535,23.7715,211.7231,-89.5348,-16.6203,-314.074,-89.535,23.7715,-314.074,-88.0456,-16.6203,-314.074,-88.0456,-16.6203,-43.8451,-88.0457,23.7715,-314.074,-88.0457,23.7715,211.7231,265.8042,-18.1203,519.1166,267.3743,-18.1203,-326.0981
                    ,265.8042,-18.1203,-326.0981,-267.1977,-18.1203,519.1166,-263.6992,-18.1203,-326.0981,-267.1977,-18.1203,-326.0981,-263.6992,-18.1203,519.1166,262.3007,-18.1203,-326.0981,-263.6992,-18.1203,-353.8471,-267.1977,-18.1203,-353.8471,267.3743,-18.1203,-353.8471,265.8042,-18.1203,-353.8471,267.3743,-18.1203,519.1166,267.3743,-16.6203,-326.0981,267.3743,-18.1203,-326.0981,262.3007,-18.1203,-353.8471,262.3007,-16.6203,-326.0981,262.3007,-18.1203,-326.0981,262.3007,-18.1203,519.1166
                    ,265.8042,-16.6203,519.1166,265.8042,-18.1203,519.1166,267.3743,-18.1203,-353.8471,265.8042,-16.6203,-353.8471,265.8042,-18.1203,-353.8471,-263.6992,-18.1203,-326.0981,-263.6992,-16.6203,-353.8471,-263.6992,-18.1203,-353.8471,-268.691,-18.1203,-326.0981,-268.691,-18.1203,-353.8471,-268.691,-18.1203,-326.0981,-267.1977,-18.1203,-353.8471,-268.691,-18.1203,519.1166,-268.691,-18.1203,519.1166,262.3007,-18.1203,519.1166,-263.6992,-18.1203,519.1166,-267.1977,-18.1203,519.1166
                    ,265.8042,23.9529,-353.8471,265.8042,25.4525,-326.0981,265.8042,23.9529,-326.0981,-263.6992,-16.6203,-326.0981,-267.1977,-16.6203,519.1166,-267.1977,-16.6203,-326.0981,-267.1977,-16.6203,-353.8471,267.3743,23.9529,-326.0981,267.3743,25.4525,-353.8471,267.3743,23.9529,-353.8471,-268.691,-16.6203,519.1166,262.3007,-16.6203,519.1166,267.3743,-16.6203,-353.8471,-268.691,-16.6203,-326.0981,-268.691,-16.6203,-353.8471,-263.6992,-16.6203,519.1166,-267.1977,23.9528,519.1166
                    ,-263.6989,23.9528,-326.0981,-267.1977,23.9528,-326.0981,-267.1977,23.9528,-353.8471,-268.691,25.4525,-353.8471,-268.691,23.9528,-353.8471,-268.691,-18.1203,-353.8471,262.3007,-16.6203,-353.8471,265.8042,-16.6203,-326.0981,267.3743,-18.1203,519.1166,262.3007,-18.1203,-353.8471,267.3743,-16.6203,519.1166,267.3743,25.4525,-326.0981,265.8042,25.4525,519.1166,265.8042,25.4525,-353.8471,267.3743,23.9529,519.1166,265.8042,23.9529,519.1166,267.3743,25.4525,519.1166
                    ,262.3005,25.4525,519.1166,-267.1977,25.4525,-353.8471,-268.691,25.4525,-326.0981,-267.1977,25.4525,-326.0981,-268.691,25.4525,519.1166,-268.691,23.9528,-326.0981,-268.691,23.9528,519.1166,-267.1977,25.4525,519.1166,-267.1977,1.2604,-347.3548,-267.1977,4.7724,-349.3825,-267.1977,-5.6394,519.1166,-268.691,4.0883,500.0803,-268.691,-3.8478,500.0803,-268.691,1.2604,-343.2995,-267.1977,-3.8478,500.0803,-267.1977,4.0883,500.0803,265.8042,4.0883,500.0803
                    ,265.8042,-3.8478,500.0803,267.3743,-5.6394,519.1165,267.3743,-3.8478,500.0803,267.3743,4.0883,500.0803,267.3743,1.2604,-347.3548,267.3743,4.7724,-349.3825,265.8042,1.2604,-343.2995,-263.6989,23.9528,519.1166,-263.6989,25.4525,-326.0981,-263.6989,25.4525,519.1166,262.3005,23.9529,-326.0981,262.3005,23.9529,519.1166,262.3005,25.4525,-326.0981,265.8042,1.2604,-347.3548,265.8042,4.7724,-349.3825,267.3743,1.2604,-343.2995,265.8042,4.7724,-341.2719
                    ,267.3743,8.2844,-343.2995,265.8042,8.2844,-343.2995,265.8042,8.2844,-347.3548,267.3743,4.7724,-341.2719,267.3743,8.2844,-347.3548,-268.691,1.2604,-347.3548,-268.691,4.7724,-349.3825,-268.691,8.2844,-343.2995,-268.691,8.2844,-347.3548,-267.1977,1.2604,-343.2995,-268.691,4.7724,-341.2719,-267.1977,8.2844,-343.2995,-267.1977,8.2844,-347.3548,-268.691,5.8799,519.1166,-267.1977,5.8799,519.1166,265.8042,5.8799,519.1166,267.3743,5.8799,519.1166
                    ,89.5778,-16.6203,211.7231,-89.5348,-16.6203,211.7231,-88.0456,-16.6203,211.7231,88.0886,-16.6203,211.7231,-267.1977,4.7724,-341.2719,-268.691,-5.6394,519.1166,-268.691,-3.8478,515.8625,-268.691,4.0883,515.8625,-267.1977,-3.8478,515.8625,-267.1977,4.0883,515.8625,265.8042,-5.6394,519.1166,265.8042,-3.8478,515.8625,265.8042,4.0883,515.8625,267.3743,-3.8478,515.8625,267.3743,4.0883,515.8625
                ]),
                false);

                var _i;//indices & affected indices for shapekeys
                _i = new Uint32Array(858);
                _i.set([0,1,2,3,4,5,2,6,0,7,5,2,8,9,10,11,12,13,10,14,8,9,13,10,15,16,17,18,19,20,21,22,19,20,23,24,17]);
                CONTIG(_i, 37, 25, 41);
                _i.set([25,29,36,42,43,44,24,41,45,23,39,41,26,36,38,15,33,35,22,30,32,16,27,29,46,44,47,48,49,33,19,32,39,18,47,50,51,52,53,54,55,56,31,7,11,40,56,57,58,59
                ,60,44,61,47,49,62,33,32,54,39,47,55,50,29,63,36,43,64,44,41,57,45,45,65,43,50,66,49,67,68,69,70,71,72,21,50,49,73,45,43,42,24,73,46,20,42,37,31,74,75
                ,62,31,76,35,27,77,38,30,38,74,30,35,78,27,22,26,77,48,17,22,79,80,52,59,52,81,82,79,58,83,84,82,83,85,80,60,81,51,86,87,71,88,89,87,72,87,90,90,89,91
                ,91,92,67,69,86,70,57,93,94,61,95,55,64,96,97,65,98,64,57,72,65,99,100,56,63,51,37,75,101,102,34,103,78,104,105,28,63,106,107,37,108,75,109,110,68,92,109,67,88,111
                ,92,69,110,88,112,85,113,53,113,83,80,114,52,52,112,53,107,115,116,106,108,115,117,118,108,60,119,58,120,121,51,122,120,118,120,123,121,121,107,116,94,124,125,126,127,72,93,98,124,128
                ,129,98,129,130,126,70,130,69,126,131,127,127,94,125,132,67,133,134,82,135,136,31,62,137,14,138,139,6,136,7,2,1,0,139,1,6,5,4,4,136,6,2,5,6,7,3,5,8,137,9
                ,14,13,12,12,138,14,10,13,14,9,11,13,15,76,16,18,21,19,21,48,22,20,19,23,17,16,25,27,78,28,30,74,31,33,62,34,36,63,37,39,54,40,25,16,29,42,73,43,24,23
                ,41,23,19,39,26,25,36,15,48,33,22,77,30,16,76,27,46,42,44,48,21,49,19,22,32,18,46,47,51,81,52,54,66,55,9,54,11,31,4,3,7,1,11,31,3,7,11,54,31,1
                ,12,11,40,54,56,58,79,59,44,64,61,49,66,62,32,31,54,47,61,55,29,28,63,43,65,64,41,40,57,45,57,65,50,55,66,67,109,68,70,86,71,21,18,50,73,24,45,42,20,24
                ,46,18,20,37,75,31,75,34,62,76,15,35,77,26,38,38,37,74,35,34,78,22,17,26,48,15,17,79,84,80,59,79,52,82,84,79,83,80,84,83,113,85,60,59,81,86,88,87,88,92
                ,89,72,71,87,90,87,89,91,89,92,69,88,86,57,56,128,69,140,56,56,140,128,94,70,57,57,128,93,61,141,95,141,61,142,64,90,96,91,132,143,91,143,96,142,61,97,97,61,64,90
                ,91,96,90,64,129,65,72,125,65,125,124,98,129,64,65,124,98,57,70,72,69,56,100,55,95,144,55,144,99,133,67,145,100,145,67,56,55,99,100,67,69,63,60,51,146,34,147,75,53,101
                ,83,134,148,83,148,101,147,34,102,102,34,75,53,83,101,34,146,103,58,28,105,78,103,149,78,149,104,135,82,150,105,150,82,28,78,104,105,82,58,63,28,117,58,122,28,28,122,117,107,60
                ,63,63,117,106,53,75,118,37,51,116,37,116,115,108,118,75,37,115,108,109,111,110,92,111,109,88,110,111,69,68,110,112,114,85,53,112,113,80,85,114,52,114,112,107,106,115,106,117,108,117
                ,122,118,60,107,123,119,122,58,60,123,119,53,118,120,121,116,51,53,120,51,122,119,120,120,119,123,121,123,107,94,93,124,90,129,126,127,125,72,90,126,72,93,128,98,128,140,129,129,140,130
                ,70,94,131,130,140,69,70,131,130,126,130,131,127,131,94,132,91,67,134,83,82,138,12,139,12,1,139,54,9,137,138,139,62,66,54,137,137,138,66,62,66,138,4,31,136,62,139,136,137,8
                ,14,139,0,6], 54);
                this.setIndices(_i);

                this.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                    -.5773,.5773,.5773,-.7071,.7071,0,-.5773,.5773,-.5773,.3015,.9045,-.3015,.7071,.7071,0,.5773,.5773,-.5773,.5773,.5773,.5773,-.3015,.9045,-.3015,-.5773,.5773,.5773,-.3015,.9045,-.3015,-.5773,.5773,-.5773,.3015,.9045,-.3015,.7071,.7071,0,.5773,.5773,-.5773,.5773,.5773,.5773,0,-1,0,0,-1,0
                    ,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,.7071,0,.7071,1,0,0,1,0,0,-.7071,0,-.7071,-.3015,.9045,-.3015,-.7071,0,-.7071,0,0,1
                    ,-.3015,.3015,.9045,0,0,1,.7071,0,-.7071,-.3015,.3015,-.9045,0,0,-1,.7071,0,-.7071,.5773,.5773,-.5773,.7071,0,-.7071,0,-1,0,-.7071,0,-.7071,-1,0,0,0,0,-1,0,-1,0,-.7071,0,.7071,0,-1,0,0,0,1,0,0,1
                    ,-.7071,0,-.7071,-.3015,.9045,-.3015,-.9045,-.3015,-.3015,.3015,.9045,-.3015,.3015,.3015,.9045,.7071,.7071,0,.3015,.3015,-.9045,1,0,0,.5773,.5773,-.5773,.7071,0,-.7071,-.7071,0,.7071,0,.7071,.7071,.7071,0,-.7071,-1,0,0,-.7071,0,-.7071,0,.7071,.7071,.3015,-.3015,.9045
                    ,.5773,-.5773,-.5773,.9045,-.3015,-.3015,.7071,0,-.7071,-.5773,.5773,-.5773,-.7071,0,-.7071,0,-1,0,-.5773,.5773,-.5773,-.7071,.7071,0,0,-1,0,0,-1,0,.7071,0,.7071,.7071,.7071,0,0,.7071,.7071,-.5773,.5773,-.5773,.7071,0,.7071,-.3015,-.3015,.9045,.5773,.5773,.5773
                    ,-.5773,.5773,.5773,.5773,.5773,-.5773,-.7071,.7071,0,.3015,.9045,-.3015,-.5773,.5773,.5773,-1,0,0,-.7071,0,.7071,0,.7071,.7071,.8386,.4717,.2723,.8386,0,.5447,.7972,0,.6037,-1,0,0,-1,0,0,-.8386,.4717,-.2723,1,0,0,1,0,0,-1,0,0
                    ,-1,0,0,.7972,0,.6037,1,0,0,1,0,0,.8386,.4717,.2723,.8386,0,.5447,-.8386,.4717,-.2723,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.8386,.4717,.2723,-.8386,0,.5447,.8386,.4717,-.2723,-.8386,0,-.5447
                    ,.8386,-.4717,-.2723,-.8386,-.4717,-.2723,-.8386,-.4717,.2723,.8386,0,-.5447,.8386,-.4717,.2723,-.8386,.4717,.2723,-.8386,0,.5447,-.8386,-.4717,-.2723,-.8386,-.4717,.2723,.8386,.4717,-.2723,-.8386,0,-.5447,.8386,-.4717,-.2723,.8386,-.4717,.2723,-.7972,0,.6037,.7972,0,.6037,-.7972,0,.6037,.7972,0,.6037
                    ,.3015,.9045,.3015,-.3015,.9045,.3015,.3015,.9045,.3015,-.3015,.9045,.3015,.8386,0,-.5447,-.7972,0,.6037,-1,0,0,-1,0,0,1,0,0,1,0,0,-.7971,0,.6037,-1,0,0,-1,0,0,1,0,0,1,0,0
                ]),
                false);

                geo = (_B.Tools.Now - geo) / 1000;
                this.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.001");
                this.subMeshes = [];
                new _B.SubMesh(0, 0, 151, 0, 858, this);
                if (scene._selectionOctree) {
                    scene.createOrUpdateSelectionOctree();
                }
            }
            if (this.postConstruction) this.postConstruction();
            this.initComplete = true;
            load = (_B.Tools.Now - load) / 1000;
            _B.Tools.Log("defined mesh: " + this.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
            if (matLoaded && !_sceneTransitionName){
                if (typeof this.grandEntrance == "function") this.grandEntrance();
                else makeVisible(this);

            } else waitingMeshes.push(this);
        }

        chassis.prototype.dispose = function (doNotRecurse) {
            _super.prototype.dispose.call(this, doNotRecurse);
            if (this.skeleton) this.skeleton.dispose();
        };
        return chassis;
    })(BABYLON.Mesh);
    node3_chassis_tray_mlb_cpu_dimm_x3_2.chassis = chassis;

    function child_nodeA_002(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".nodeA_002", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 173.0189;
        ret.position.y  = -10.9559;
        ret.position.z  = -322.6925;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;
        ret.MLB_002 = cloning ? child_MLB_002(scene, ret, source.MLB_002) : child_MLB_002(scene, ret);

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                92.3771,-5.1313,-.5985,90.8875,-3.6418,-.5985,90.8875,-5.1313,-.5985,-83.0337,-5.1313,-.5985,-83.0337,-3.6418,576.3816,-83.0337,-5.1313,576.3816,-81.5488,-5.1313,-.5985,-83.0337,-3.6418,-.5985,-81.5488,-3.6418,-.5985,-83.0337,34.5633,-.5985,92.3771,-3.6418,-.5985,90.8875,34.5633,-.5985,90.8875,34.5633,576.3816,90.8875,-3.6418,576.3816,-83.0337,34.5633,576.3816,-81.5488,-3.6418,576.3816,-81.5488,34.5633,-.5985
                ,92.3771,-3.6418,576.3816,92.3771,34.5633,-.5985,-81.5488,-5.1313,576.3816,92.3771,-5.1313,576.3816,90.8875,-5.1313,576.3816,92.3771,34.5633,576.3816,-81.5488,34.5633,576.3816
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,5,6,7,3,2,8,6,8,9,7,10,11,1,1,12,13,7,14,4,15,16,8,17,18,10,16,14,9,18,12,11,19,2,6,5,6,3,1,15,8,20,10,0,21,0
            ,2,17,12,22,15,21,19,20,13,17,15,14,23,4,19,5,0,10,1,3,7,4,6,8,7,2,1,8,8,16,9,10,18,11,1,11,12,7,9,14,15,23,16,17,22,18,16,23,14,18
            ,22,12,19,21,2,5,19,6,1,13,15,20,17,10,21,20,0,17,13,12,15,13,21,20,21,13,15,4,14,4,15,19]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                .5773,-.5773,-.5773,-.3015,.3015,-.9045,0,-.7071,-.7071,-.5773,-.5773,-.5773,-.7071,0,.7071,-.5773,-.5773,.5773,0,-.7071,-.7071,-.7071,0,-.7071,.3015,.3015,-.9045,-.5773,.5773,-.5773,.7071,0,-.7071,-.5773,.5773,-.5773,-.5773,.5773,.5773,-.3015,.3015,.9045,-.5773,.5773,.5773,.3015,.3015,.9045,.5773,.5773,-.5773
                ,.7071,0,.7071,.5773,.5773,-.5773,0,-.7071,.7071,.5773,-.5773,.5773,0,-.7071,.7071,.5773,.5773,.5773,.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.MTL0.001");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_MLB_002(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".MLB_002", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 4.9369;
        ret.position.y  = -2.8509;
        ret.position.z  = 287.0386;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;
        ret.DIMM_A0_047 = cloning ? child_DIMM_A0_047(scene, ret, source.DIMM_A0_047) : child_DIMM_A0_047(scene, ret);
        ret.CPU1_HS_005 = cloning ? child_CPU1_HS_005(scene, ret, source.CPU1_HS_005) : child_CPU1_HS_005(scene, ret);
        ret.CPU1_DS1_047 = cloning ? child_CPU1_DS1_047(scene, ret, source.CPU1_DS1_047) : child_CPU1_DS1_047(scene, ret);
        ret.CPU1_DS1_046 = cloning ? child_CPU1_DS1_046(scene, ret, source.CPU1_DS1_046) : child_CPU1_DS1_046(scene, ret);
        ret.DIMM_A0_046 = cloning ? child_DIMM_A0_046(scene, ret, source.DIMM_A0_046) : child_DIMM_A0_046(scene, ret);
        ret.DIMM_A0_045 = cloning ? child_DIMM_A0_045(scene, ret, source.DIMM_A0_045) : child_DIMM_A0_045(scene, ret);
        ret.CPU1_DS1_045 = cloning ? child_CPU1_DS1_045(scene, ret, source.CPU1_DS1_045) : child_CPU1_DS1_045(scene, ret);
        ret.CPU1_DS1_044 = cloning ? child_CPU1_DS1_044(scene, ret, source.CPU1_DS1_044) : child_CPU1_DS1_044(scene, ret);
        ret.DIMM_A0_044 = cloning ? child_DIMM_A0_044(scene, ret, source.DIMM_A0_044) : child_DIMM_A0_044(scene, ret);
        ret.DIMM_A0_043 = cloning ? child_DIMM_A0_043(scene, ret, source.DIMM_A0_043) : child_DIMM_A0_043(scene, ret);
        ret.CPU1_DS1_043 = cloning ? child_CPU1_DS1_043(scene, ret, source.CPU1_DS1_043) : child_CPU1_DS1_043(scene, ret);
        ret.CPU1_DS1_042 = cloning ? child_CPU1_DS1_042(scene, ret, source.CPU1_DS1_042) : child_CPU1_DS1_042(scene, ret);
        ret.DIMM_A0_042 = cloning ? child_DIMM_A0_042(scene, ret, source.DIMM_A0_042) : child_DIMM_A0_042(scene, ret);
        ret.DIMM_A0_041 = cloning ? child_DIMM_A0_041(scene, ret, source.DIMM_A0_041) : child_DIMM_A0_041(scene, ret);
        ret.CPU1_DS1_041 = cloning ? child_CPU1_DS1_041(scene, ret, source.CPU1_DS1_041) : child_CPU1_DS1_041(scene, ret);
        ret.CPU1_DS1_040 = cloning ? child_CPU1_DS1_040(scene, ret, source.CPU1_DS1_040) : child_CPU1_DS1_040(scene, ret);
        ret.DIMM_A0_040 = cloning ? child_DIMM_A0_040(scene, ret, source.DIMM_A0_040) : child_DIMM_A0_040(scene, ret);
        ret.DIMM_A0_039 = cloning ? child_DIMM_A0_039(scene, ret, source.DIMM_A0_039) : child_DIMM_A0_039(scene, ret);
        ret.CPU1_DS1_039 = cloning ? child_CPU1_DS1_039(scene, ret, source.CPU1_DS1_039) : child_CPU1_DS1_039(scene, ret);
        ret.CPU1_DS1_038 = cloning ? child_CPU1_DS1_038(scene, ret, source.CPU1_DS1_038) : child_CPU1_DS1_038(scene, ret);
        ret.DIMM_A0_038 = cloning ? child_DIMM_A0_038(scene, ret, source.DIMM_A0_038) : child_DIMM_A0_038(scene, ret);
        ret.DIMM_A0_037 = cloning ? child_DIMM_A0_037(scene, ret, source.DIMM_A0_037) : child_DIMM_A0_037(scene, ret);
        ret.CPU1_DS1_037 = cloning ? child_CPU1_DS1_037(scene, ret, source.CPU1_DS1_037) : child_CPU1_DS1_037(scene, ret);
        ret.CPU1_DS1_036 = cloning ? child_CPU1_DS1_036(scene, ret, source.CPU1_DS1_036) : child_CPU1_DS1_036(scene, ret);
        ret.DIMM_A0_036 = cloning ? child_DIMM_A0_036(scene, ret, source.DIMM_A0_036) : child_DIMM_A0_036(scene, ret);
        ret.DIMM_A0_035 = cloning ? child_DIMM_A0_035(scene, ret, source.DIMM_A0_035) : child_DIMM_A0_035(scene, ret);
        ret.CPU1_DS1_035 = cloning ? child_CPU1_DS1_035(scene, ret, source.CPU1_DS1_035) : child_CPU1_DS1_035(scene, ret);
        ret.CPU1_DS1_034 = cloning ? child_CPU1_DS1_034(scene, ret, source.CPU1_DS1_034) : child_CPU1_DS1_034(scene, ret);
        ret.DIMM_A0_034 = cloning ? child_DIMM_A0_034(scene, ret, source.DIMM_A0_034) : child_DIMM_A0_034(scene, ret);
        ret.DIMM_A0_033 = cloning ? child_DIMM_A0_033(scene, ret, source.DIMM_A0_033) : child_DIMM_A0_033(scene, ret);
        ret.CPU1_DS1_033 = cloning ? child_CPU1_DS1_033(scene, ret, source.CPU1_DS1_033) : child_CPU1_DS1_033(scene, ret);
        ret.CPU1_DS1_032 = cloning ? child_CPU1_DS1_032(scene, ret, source.CPU1_DS1_032) : child_CPU1_DS1_032(scene, ret);
        ret.CPU1_HS_004 = cloning ? child_CPU1_HS_004(scene, ret, source.CPU1_HS_004) : child_CPU1_HS_004(scene, ret);
        ret.DIMM_A0_032 = cloning ? child_DIMM_A0_032(scene, ret, source.DIMM_A0_032) : child_DIMM_A0_032(scene, ret);

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                85.1041,0,-287.023,-85.1042,0,287.0229,-85.1042,0,-287.023,85.1041,0,287.0229,-85.1042,2.0187,287.0229,85.1041,2.0187,287.0229
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,0,3,1,3,5,4]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                0,1,0,0,.7071,-.7071,0,1,0,0,.7071,-.7071,0,0,-1,0,0,-1
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.003");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 6, 0, 12, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_047(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_047", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.232;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_HS_005(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_HS_005", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = .9799;
        ret.position.y  = 14.8711;
        ret.position.z  = 35.795;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -38.9985,-7.6127,40.4869,-38.9985,-11.864,53.9842,-38.9985,-11.864,40.4869,26.9984,-7.6127,53.9842,38.9984,-11.864,53.9842,26.9984,-11.864,53.9842,38.9984,-7.6127,-40.5146,38.9984,-11.864,-53.9821,38.9984,-11.864,-40.5146,-27.0016,-7.6127,-53.9821,-38.9985,-11.864,-53.9821,-27.0016,-11.864,-53.9821,26.9984,-11.864,-53.9821,26.9984,-11.864,-40.5146,-38.9985,-7.6127,-40.5146,-27.0016,-7.6127,-40.5146,-38.9985,-7.6127,53.9842
                ,-27.0016,-7.6127,40.4869,-27.0016,-7.6127,53.9842,-38.9985,13.1378,-6.0101,-38.9985,-7.6127,-6.0101,-38.9985,-7.6127,5.9841,-27.0016,-7.6127,-6.0101,-27.0016,-7.6127,5.9841,-38.9985,13.1378,5.9841,26.9984,-11.864,40.4869,38.9984,-11.864,40.4869,26.9984,-11.864,5.9841,38.9984,-11.864,5.9841,26.9984,-11.864,-6.0101,38.9984,-11.864,-6.0101,38.9984,-7.6127,53.9842,38.9984,-7.6127,40.4869,38.9984,-7.6127,5.9841
                ,38.9984,-7.6127,-6.0101,-38.9985,-7.6127,-53.9821,-38.9985,-11.864,-40.5146,-38.9985,-11.864,-6.0101,-38.9985,-11.864,5.9841,-27.0016,-11.864,-6.0101,-27.0016,-11.864,-40.5146,-27.0016,-11.864,5.9841,-27.0016,-11.864,40.4869,-27.0016,-11.864,53.9842,-27.0016,13.1378,53.9842,26.9984,13.1378,-40.5146,26.9984,-7.6127,-40.5146,26.9984,-7.6127,5.9841,26.9984,13.1378,40.4869,26.9984,-7.6127,40.4869,26.9984,-7.6127,-6.0101
                ,38.9984,13.1378,-6.0101,-27.0016,13.1378,40.4869,26.9984,13.1378,5.9841,38.9984,-7.6127,-53.9821,26.9984,-7.6127,-53.9821,-27.0016,13.1378,-53.9821,-38.9985,13.1378,40.4869,-27.0016,13.1378,5.9841,-27.0016,13.1378,-40.5146,-27.0016,13.1378,-6.0101,26.9984,13.1378,-6.0101,38.9984,13.1378,-40.5146,38.9984,13.1378,5.9841,38.9984,13.1378,40.4869,26.9984,13.1378,53.9842,26.9984,13.1378,-53.9821,-38.9985,13.1378,-40.5146
                
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(396);
            CONTIG(_i, 0, 0, 11);
            _i.set([8,12,13,14,9,15,16,17,18,14,19,20,21,22,23,23,24,21,4,25,5,26,27,25,28,29,27,30,13,29,31,26,4,32,28,26,33,30,28,34,8,30,35,36,10,14,37,36,20,38
            ,37,21,2,38,39,36,37,29,40,39,41,37,38,27,39,41,42,38,2,25,41,42,43,2,1,5,42,43,17,44,18,6,45,46,47,34,33,3,48,49,50,51,34,0,52,17,3,32,31,33
            ,53,47,46,54,6,55,56,9,40,10,36,13,11,40,54,12,7,55,11,12,16,43,1,18,5,43,57,58,52,19,59,60,61,62,51,60,45,61,58,61,53,48,63,64,52,53,48,44,48,65
            ,59,66,45,46,66,55,18,65,3,32,63,33,9,59,15,47,61,50,21,57,0,20,60,22,34,62,6,22,58,23,49,64,32,15,67,14,0,16,1,3,31,4,6,54,7,9,35,10,8,7
            ,12,14,35,9,16,0,17,14,67,19,21,20,22,23,58,24,4,26,25,26,28,27,28,30,29,30,8,13,31,32,26,32,33,28,33,34,30,34,6,8,35,14,36,14,20,37,20,21,38,21
            ,0,2,39,40,36,29,13,40,41,39,37,27,29,39,42,41,38,25,27,41,43,42,2,5,25,42,17,52,44,6,62,45,47,50,34,3,65,48,50,61,51,0,57,52,3,49,32,33,63,53
            ,46,55,54,55,66,56,40,11,10,13,12,11,54,55,12,55,9,11,16,18,43,18,3,5,57,24,58,19,67,59,61,45,62,60,59,45,58,60,61,48,53,63,52,58,53,44,52,48,59,56
            ,66,46,45,66,18,44,65,32,64,63,9,56,59,47,53,61,21,24,57,20,19,60,34,51,62,22,60,58,49,48,64,15,59,67], 12);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,.3015,.3015,.9045,.5773,-.5773,.5773,0,-.7071,.7071,.9045,.3015,-.3015,.5773,-.5773,-.5773,.7071,-.7071,0,-.3015,.3015,-.9045,-.5773,-.5773,-.5773,0,-.7071,-.7071,0,-.7071,-.7071,0,-1,0,-.9045,.3015,-.3015,-.5773,.5773,-.5773,-.5773,.5773,.5773
                ,-.5773,.5773,.5773,-.3015,.3015,.9045,-.5773,.5773,.5773,-.9045,.3015,.3015,-.9045,.3015,-.3015,-.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,.5773,.5773,.5773,.9045,.3015,.3015,.9045,.3015,-.3015
                ,.9045,.3015,.3015,-.5773,.5773,-.5773,-.7071,-.7071,0,-.7071,-.7071,0,-.7071,-.7071,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-.7071,.7071,-.5773,.5773,.5773,.3015,.9045,-.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.3015,.9045,.3015,.5773,.5773,.5773,.5773,.5773,.5773
                ,.5773,.5773,.5773,-.3015,.9045,.3015,.3015,.9045,-.3015,.5773,.5773,-.5773,.3015,.3015,-.9045,-.5773,.5773,-.5773,-.5773,.5773,.5773,-.3015,.9045,-.3015,-.3015,.9045,-.3015,-.3015,.9045,.3015,.3015,.9045,.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773
                
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.006");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 68, 0, 396, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_047(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_047", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.3444;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_046(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_046", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.5118;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_046(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_046", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.3994;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_045(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_045", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.5334;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_045(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_045", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.6458;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_044(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_044", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.2195;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_044(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_044", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.1071;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_043(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_043", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.8456;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_043(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_043", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.7333;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_042(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_042", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.8504;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_042(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_042", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.9628;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_041(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_041", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.852;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_041(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_041", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.7396;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_040(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_040", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.0846;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_040(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_040", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.197;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_039(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_039", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.197;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_039(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_039", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.0846;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_038(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_038", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.7396;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_038(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_038", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.852;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_037(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_037", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.9628;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_037(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_037", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.8504;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_036(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_036", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.7333;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_036(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_036", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.8456;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_035(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_035", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.1071;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_035(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_035", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.2195;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_034(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_034", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.6458;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_034(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_034", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.5334;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_033(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_033", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.3994;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_033(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_033", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.5118;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_032(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_032", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.3444;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_HS_004(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_HS_004", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = .9799;
        ret.position.y  = 14.8711;
        ret.position.z  = -126.3177;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -38.9985,-7.6127,40.4869,-38.9985,-11.864,53.9842,-38.9985,-11.864,40.4869,26.9984,-7.6127,53.9842,38.9984,-11.864,53.9842,26.9984,-11.864,53.9842,38.9984,-7.6127,-40.5146,38.9984,-11.864,-53.9821,38.9984,-11.864,-40.5146,-27.0016,-7.6127,-53.9821,-38.9985,-11.864,-53.9821,-27.0016,-11.864,-53.9821,26.9984,-11.864,-53.9821,26.9984,-11.864,-40.5146,-38.9985,-7.6127,-40.5146,-27.0016,-7.6127,-40.5146,-38.9985,-7.6127,53.9842
                ,-27.0016,-7.6127,40.4869,-27.0016,-7.6127,53.9842,-38.9985,13.1378,-6.0101,-38.9985,-7.6127,-6.0101,-38.9985,-7.6127,5.9841,-27.0016,-7.6127,-6.0101,-27.0016,-7.6127,5.9841,-38.9985,13.1378,5.9841,26.9984,-11.864,40.4869,38.9984,-11.864,40.4869,26.9984,-11.864,5.9841,38.9984,-11.864,5.9841,26.9984,-11.864,-6.0101,38.9984,-11.864,-6.0101,38.9984,-7.6127,53.9842,38.9984,-7.6127,40.4869,38.9984,-7.6127,5.9841
                ,38.9984,-7.6127,-6.0101,-38.9985,-7.6127,-53.9821,-38.9985,-11.864,-40.5146,-38.9985,-11.864,-6.0101,-38.9985,-11.864,5.9841,-27.0016,-11.864,-6.0101,-27.0016,-11.864,-40.5146,-27.0016,-11.864,5.9841,-27.0016,-11.864,40.4869,-27.0016,-11.864,53.9842,-27.0016,13.1378,53.9842,26.9984,13.1378,-40.5146,26.9984,-7.6127,-40.5146,26.9984,-7.6127,5.9841,26.9984,13.1378,40.4869,26.9984,-7.6127,40.4869,26.9984,-7.6127,-6.0101
                ,38.9984,13.1378,-6.0101,-27.0016,13.1378,40.4869,26.9984,13.1378,5.9841,38.9984,-7.6127,-53.9821,26.9984,-7.6127,-53.9821,-27.0016,13.1378,-53.9821,-38.9985,13.1378,40.4869,-27.0016,13.1378,5.9841,-27.0016,13.1378,-40.5146,-27.0016,13.1378,-6.0101,26.9984,13.1378,-6.0101,38.9984,13.1378,-40.5146,38.9984,13.1378,5.9841,38.9984,13.1378,40.4869,26.9984,13.1378,53.9842,26.9984,13.1378,-53.9821,-38.9985,13.1378,-40.5146
                
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(396);
            CONTIG(_i, 0, 0, 11);
            _i.set([8,12,13,14,9,15,16,17,18,14,19,20,21,22,23,23,24,21,4,25,5,26,27,25,28,29,27,30,13,29,31,26,4,32,28,26,33,30,28,34,8,30,35,36,10,14,37,36,20,38
            ,37,21,2,38,39,36,37,29,40,39,41,37,38,27,39,41,42,38,2,25,41,42,43,2,1,5,42,43,17,44,18,6,45,46,47,34,33,3,48,49,50,51,34,0,52,17,3,32,31,33
            ,53,47,46,54,6,55,56,9,40,10,36,13,11,40,54,12,7,55,11,12,16,43,1,18,5,43,57,58,52,19,59,60,61,62,51,60,45,61,58,61,53,48,63,64,52,53,48,44,48,65
            ,59,66,45,46,66,55,18,65,3,32,63,33,9,59,15,47,61,50,21,57,0,20,60,22,34,62,6,22,58,23,49,64,32,15,67,14,0,16,1,3,31,4,6,54,7,9,35,10,8,7
            ,12,14,35,9,16,0,17,14,67,19,21,20,22,23,58,24,4,26,25,26,28,27,28,30,29,30,8,13,31,32,26,32,33,28,33,34,30,34,6,8,35,14,36,14,20,37,20,21,38,21
            ,0,2,39,40,36,29,13,40,41,39,37,27,29,39,42,41,38,25,27,41,43,42,2,5,25,42,17,52,44,6,62,45,47,50,34,3,65,48,50,61,51,0,57,52,3,49,32,33,63,53
            ,46,55,54,55,66,56,40,11,10,13,12,11,54,55,12,55,9,11,16,18,43,18,3,5,57,24,58,19,67,59,61,45,62,60,59,45,58,60,61,48,53,63,52,58,53,44,52,48,59,56
            ,66,46,45,66,18,44,65,32,64,63,9,56,59,47,53,61,21,24,57,20,19,60,34,51,62,22,60,58,49,48,64,15,59,67], 12);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,.3015,.3015,.9045,.5773,-.5773,.5773,0,-.7071,.7071,.9045,.3015,-.3015,.5773,-.5773,-.5773,.7071,-.7071,0,-.3015,.3015,-.9045,-.5773,-.5773,-.5773,0,-.7071,-.7071,0,-.7071,-.7071,0,-1,0,-.9045,.3015,-.3015,-.5773,.5773,-.5773,-.5773,.5773,.5773
                ,-.5773,.5773,.5773,-.3015,.3015,.9045,-.5773,.5773,.5773,-.9045,.3015,.3015,-.9045,.3015,-.3015,-.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,.5773,.5773,.5773,.9045,.3015,.3015,.9045,.3015,-.3015
                ,.9045,.3015,.3015,-.5773,.5773,-.5773,-.7071,-.7071,0,-.7071,-.7071,0,-.7071,-.7071,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-.7071,.7071,-.5773,.5773,.5773,.3015,.9045,-.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.3015,.9045,.3015,.5773,.5773,.5773,.5773,.5773,.5773
                ,.5773,.5773,.5773,-.3015,.9045,.3015,.3015,.9045,-.3015,.5773,.5773,-.5773,.3015,.3015,-.9045,-.5773,.5773,-.5773,-.5773,.5773,.5773,-.3015,.9045,-.3015,-.3015,.9045,-.3015,-.3015,.9045,.3015,.3015,.9045,.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773
                
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.006");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 68, 0, 396, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_032(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_032", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.232;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_nodeA_001(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".nodeA_001", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -4.6538;
        ret.position.y  = -10.9559;
        ret.position.z  = -322.6925;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;
        ret.MLB_001 = cloning ? child_MLB_001(scene, ret, source.MLB_001) : child_MLB_001(scene, ret);

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                92.3771,-5.1313,-.5985,90.8875,-3.6418,-.5985,90.8875,-5.1313,-.5985,-83.0337,-5.1313,-.5985,-83.0337,-3.6418,576.3816,-83.0337,-5.1313,576.3816,-81.5488,-5.1313,-.5985,-83.0337,-3.6418,-.5985,-81.5488,-3.6418,-.5985,-83.0337,34.5633,-.5985,92.3771,-3.6418,-.5985,90.8875,34.5633,-.5985,90.8875,34.5633,576.3816,90.8875,-3.6418,576.3816,-83.0337,34.5633,576.3816,-81.5488,-3.6418,576.3816,-81.5488,34.5633,-.5985
                ,92.3771,-3.6418,576.3816,92.3771,34.5633,-.5985,-81.5488,-5.1313,576.3816,92.3771,-5.1313,576.3816,90.8875,-5.1313,576.3816,92.3771,34.5633,576.3816,-81.5488,34.5633,576.3816
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,5,6,7,3,2,8,6,8,9,7,10,11,1,1,12,13,7,14,4,15,16,8,17,18,10,16,14,9,18,12,11,19,2,6,5,6,3,1,15,8,20,10,0,21,0
            ,2,17,12,22,15,21,19,20,13,17,15,14,23,4,19,5,0,10,1,3,7,4,6,8,7,2,1,8,8,16,9,10,18,11,1,11,12,7,9,14,15,23,16,17,22,18,16,23,14,18
            ,22,12,19,21,2,5,19,6,1,13,15,20,17,10,21,20,0,17,13,12,15,13,21,20,21,13,15,4,14,4,15,19]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                .5773,-.5773,-.5773,-.3015,.3015,-.9045,0,-.7071,-.7071,-.5773,-.5773,-.5773,-.7071,0,.7071,-.5773,-.5773,.5773,0,-.7071,-.7071,-.7071,0,-.7071,.3015,.3015,-.9045,-.5773,.5773,-.5773,.7071,0,-.7071,-.5773,.5773,-.5773,-.5773,.5773,.5773,-.3015,.3015,.9045,-.5773,.5773,.5773,.3015,.3015,.9045,.5773,.5773,-.5773
                ,.7071,0,.7071,.5773,.5773,-.5773,0,-.7071,.7071,.5773,-.5773,.5773,0,-.7071,.7071,.5773,.5773,.5773,.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.MTL0.001");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_MLB_001(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".MLB_001", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 4.9369;
        ret.position.y  = -2.8509;
        ret.position.z  = 287.0386;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;
        ret.DIMM_A0_031 = cloning ? child_DIMM_A0_031(scene, ret, source.DIMM_A0_031) : child_DIMM_A0_031(scene, ret);
        ret.CPU1_HS_003 = cloning ? child_CPU1_HS_003(scene, ret, source.CPU1_HS_003) : child_CPU1_HS_003(scene, ret);
        ret.CPU1_DS1_031 = cloning ? child_CPU1_DS1_031(scene, ret, source.CPU1_DS1_031) : child_CPU1_DS1_031(scene, ret);
        ret.CPU1_DS1_030 = cloning ? child_CPU1_DS1_030(scene, ret, source.CPU1_DS1_030) : child_CPU1_DS1_030(scene, ret);
        ret.DIMM_A0_030 = cloning ? child_DIMM_A0_030(scene, ret, source.DIMM_A0_030) : child_DIMM_A0_030(scene, ret);
        ret.DIMM_A0_029 = cloning ? child_DIMM_A0_029(scene, ret, source.DIMM_A0_029) : child_DIMM_A0_029(scene, ret);
        ret.CPU1_DS1_029 = cloning ? child_CPU1_DS1_029(scene, ret, source.CPU1_DS1_029) : child_CPU1_DS1_029(scene, ret);
        ret.CPU1_DS1_028 = cloning ? child_CPU1_DS1_028(scene, ret, source.CPU1_DS1_028) : child_CPU1_DS1_028(scene, ret);
        ret.DIMM_A0_028 = cloning ? child_DIMM_A0_028(scene, ret, source.DIMM_A0_028) : child_DIMM_A0_028(scene, ret);
        ret.DIMM_A0_027 = cloning ? child_DIMM_A0_027(scene, ret, source.DIMM_A0_027) : child_DIMM_A0_027(scene, ret);
        ret.CPU1_DS1_027 = cloning ? child_CPU1_DS1_027(scene, ret, source.CPU1_DS1_027) : child_CPU1_DS1_027(scene, ret);
        ret.CPU1_DS1_026 = cloning ? child_CPU1_DS1_026(scene, ret, source.CPU1_DS1_026) : child_CPU1_DS1_026(scene, ret);
        ret.DIMM_A0_026 = cloning ? child_DIMM_A0_026(scene, ret, source.DIMM_A0_026) : child_DIMM_A0_026(scene, ret);
        ret.DIMM_A0_025 = cloning ? child_DIMM_A0_025(scene, ret, source.DIMM_A0_025) : child_DIMM_A0_025(scene, ret);
        ret.CPU1_DS1_025 = cloning ? child_CPU1_DS1_025(scene, ret, source.CPU1_DS1_025) : child_CPU1_DS1_025(scene, ret);
        ret.CPU1_DS1_024 = cloning ? child_CPU1_DS1_024(scene, ret, source.CPU1_DS1_024) : child_CPU1_DS1_024(scene, ret);
        ret.DIMM_A0_024 = cloning ? child_DIMM_A0_024(scene, ret, source.DIMM_A0_024) : child_DIMM_A0_024(scene, ret);
        ret.DIMM_A0_023 = cloning ? child_DIMM_A0_023(scene, ret, source.DIMM_A0_023) : child_DIMM_A0_023(scene, ret);
        ret.CPU1_DS1_023 = cloning ? child_CPU1_DS1_023(scene, ret, source.CPU1_DS1_023) : child_CPU1_DS1_023(scene, ret);
        ret.CPU1_DS1_022 = cloning ? child_CPU1_DS1_022(scene, ret, source.CPU1_DS1_022) : child_CPU1_DS1_022(scene, ret);
        ret.DIMM_A0_022 = cloning ? child_DIMM_A0_022(scene, ret, source.DIMM_A0_022) : child_DIMM_A0_022(scene, ret);
        ret.DIMM_A0_021 = cloning ? child_DIMM_A0_021(scene, ret, source.DIMM_A0_021) : child_DIMM_A0_021(scene, ret);
        ret.CPU1_DS1_021 = cloning ? child_CPU1_DS1_021(scene, ret, source.CPU1_DS1_021) : child_CPU1_DS1_021(scene, ret);
        ret.CPU1_DS1_020 = cloning ? child_CPU1_DS1_020(scene, ret, source.CPU1_DS1_020) : child_CPU1_DS1_020(scene, ret);
        ret.DIMM_A0_020 = cloning ? child_DIMM_A0_020(scene, ret, source.DIMM_A0_020) : child_DIMM_A0_020(scene, ret);
        ret.DIMM_A0_019 = cloning ? child_DIMM_A0_019(scene, ret, source.DIMM_A0_019) : child_DIMM_A0_019(scene, ret);
        ret.CPU1_DS1_019 = cloning ? child_CPU1_DS1_019(scene, ret, source.CPU1_DS1_019) : child_CPU1_DS1_019(scene, ret);
        ret.CPU1_DS1_018 = cloning ? child_CPU1_DS1_018(scene, ret, source.CPU1_DS1_018) : child_CPU1_DS1_018(scene, ret);
        ret.DIMM_A0_018 = cloning ? child_DIMM_A0_018(scene, ret, source.DIMM_A0_018) : child_DIMM_A0_018(scene, ret);
        ret.DIMM_A0_017 = cloning ? child_DIMM_A0_017(scene, ret, source.DIMM_A0_017) : child_DIMM_A0_017(scene, ret);
        ret.CPU1_DS1_017 = cloning ? child_CPU1_DS1_017(scene, ret, source.CPU1_DS1_017) : child_CPU1_DS1_017(scene, ret);
        ret.CPU1_DS1_016 = cloning ? child_CPU1_DS1_016(scene, ret, source.CPU1_DS1_016) : child_CPU1_DS1_016(scene, ret);
        ret.CPU1_HS_002 = cloning ? child_CPU1_HS_002(scene, ret, source.CPU1_HS_002) : child_CPU1_HS_002(scene, ret);
        ret.DIMM_A0_016 = cloning ? child_DIMM_A0_016(scene, ret, source.DIMM_A0_016) : child_DIMM_A0_016(scene, ret);

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                85.1041,0,-287.023,-85.1042,0,287.0229,-85.1042,0,-287.023,85.1041,0,287.0229,-85.1042,2.0187,287.0229,85.1041,2.0187,287.0229
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,0,3,1,3,5,4]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                0,1,0,0,.7071,-.7071,0,1,0,0,.7071,-.7071,0,0,-1,0,0,-1
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.003");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 6, 0, 12, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_031(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_031", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.232;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_HS_003(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_HS_003", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = .9799;
        ret.position.y  = 14.8711;
        ret.position.z  = -126.3177;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -38.9985,-7.6127,40.4869,-38.9985,-11.864,53.9842,-38.9985,-11.864,40.4869,26.9984,-7.6127,53.9842,38.9984,-11.864,53.9842,26.9984,-11.864,53.9842,38.9984,-7.6127,-40.5146,38.9984,-11.864,-53.9821,38.9984,-11.864,-40.5146,-27.0016,-7.6127,-53.9821,-38.9985,-11.864,-53.9821,-27.0016,-11.864,-53.9821,26.9984,-11.864,-53.9821,26.9984,-11.864,-40.5146,-38.9985,-7.6127,-40.5146,-27.0016,-7.6127,-40.5146,-38.9985,-7.6127,53.9842
                ,-27.0016,-7.6127,40.4869,-27.0016,-7.6127,53.9842,-38.9985,13.1378,-6.0101,-38.9985,-7.6127,-6.0101,-38.9985,-7.6127,5.9841,-27.0016,-7.6127,-6.0101,-27.0016,-7.6127,5.9841,-38.9985,13.1378,5.9841,26.9984,-11.864,40.4869,38.9984,-11.864,40.4869,26.9984,-11.864,5.9841,38.9984,-11.864,5.9841,26.9984,-11.864,-6.0101,38.9984,-11.864,-6.0101,38.9984,-7.6127,53.9842,38.9984,-7.6127,40.4869,38.9984,-7.6127,5.9841
                ,38.9984,-7.6127,-6.0101,-38.9985,-7.6127,-53.9821,-38.9985,-11.864,-40.5146,-38.9985,-11.864,-6.0101,-38.9985,-11.864,5.9841,-27.0016,-11.864,-6.0101,-27.0016,-11.864,-40.5146,-27.0016,-11.864,5.9841,-27.0016,-11.864,40.4869,-27.0016,-11.864,53.9842,-27.0016,13.1378,53.9842,26.9984,13.1378,-40.5146,26.9984,-7.6127,-40.5146,26.9984,-7.6127,5.9841,26.9984,13.1378,40.4869,26.9984,-7.6127,40.4869,26.9984,-7.6127,-6.0101
                ,38.9984,13.1378,-6.0101,-27.0016,13.1378,40.4869,26.9984,13.1378,5.9841,38.9984,-7.6127,-53.9821,26.9984,-7.6127,-53.9821,-27.0016,13.1378,-53.9821,-38.9985,13.1378,40.4869,-27.0016,13.1378,5.9841,-27.0016,13.1378,-40.5146,-27.0016,13.1378,-6.0101,26.9984,13.1378,-6.0101,38.9984,13.1378,-40.5146,38.9984,13.1378,5.9841,38.9984,13.1378,40.4869,26.9984,13.1378,53.9842,26.9984,13.1378,-53.9821,-38.9985,13.1378,-40.5146
                
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(396);
            CONTIG(_i, 0, 0, 11);
            _i.set([8,12,13,14,9,15,16,17,18,14,19,20,21,22,23,23,24,21,4,25,5,26,27,25,28,29,27,30,13,29,31,26,4,32,28,26,33,30,28,34,8,30,35,36,10,14,37,36,20,38
            ,37,21,2,38,39,36,37,29,40,39,41,37,38,27,39,41,42,38,2,25,41,42,43,2,1,5,42,43,17,44,18,6,45,46,47,34,33,3,48,49,50,51,34,0,52,17,3,32,31,33
            ,53,47,46,54,6,55,56,9,40,10,36,13,11,40,54,12,7,55,11,12,16,43,1,18,5,43,57,58,52,19,59,60,61,62,51,60,45,61,58,61,53,48,63,64,52,53,48,44,48,65
            ,59,66,45,46,66,55,18,65,3,32,63,33,9,59,15,47,61,50,21,57,0,20,60,22,34,62,6,22,58,23,49,64,32,15,67,14,0,16,1,3,31,4,6,54,7,9,35,10,8,7
            ,12,14,35,9,16,0,17,14,67,19,21,20,22,23,58,24,4,26,25,26,28,27,28,30,29,30,8,13,31,32,26,32,33,28,33,34,30,34,6,8,35,14,36,14,20,37,20,21,38,21
            ,0,2,39,40,36,29,13,40,41,39,37,27,29,39,42,41,38,25,27,41,43,42,2,5,25,42,17,52,44,6,62,45,47,50,34,3,65,48,50,61,51,0,57,52,3,49,32,33,63,53
            ,46,55,54,55,66,56,40,11,10,13,12,11,54,55,12,55,9,11,16,18,43,18,3,5,57,24,58,19,67,59,61,45,62,60,59,45,58,60,61,48,53,63,52,58,53,44,52,48,59,56
            ,66,46,45,66,18,44,65,32,64,63,9,56,59,47,53,61,21,24,57,20,19,60,34,51,62,22,60,58,49,48,64,15,59,67], 12);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,.3015,.3015,.9045,.5773,-.5773,.5773,0,-.7071,.7071,.9045,.3015,-.3015,.5773,-.5773,-.5773,.7071,-.7071,0,-.3015,.3015,-.9045,-.5773,-.5773,-.5773,0,-.7071,-.7071,0,-.7071,-.7071,0,-1,0,-.9045,.3015,-.3015,-.5773,.5773,-.5773,-.5773,.5773,.5773
                ,-.5773,.5773,.5773,-.3015,.3015,.9045,-.5773,.5773,.5773,-.9045,.3015,.3015,-.9045,.3015,-.3015,-.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,.5773,.5773,.5773,.9045,.3015,.3015,.9045,.3015,-.3015
                ,.9045,.3015,.3015,-.5773,.5773,-.5773,-.7071,-.7071,0,-.7071,-.7071,0,-.7071,-.7071,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-.7071,.7071,-.5773,.5773,.5773,.3015,.9045,-.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.3015,.9045,.3015,.5773,.5773,.5773,.5773,.5773,.5773
                ,.5773,.5773,.5773,-.3015,.9045,.3015,.3015,.9045,-.3015,.5773,.5773,-.5773,.3015,.3015,-.9045,-.5773,.5773,-.5773,-.5773,.5773,.5773,-.3015,.9045,-.3015,-.3015,.9045,-.3015,-.3015,.9045,.3015,.3015,.9045,.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773
                
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.006");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 68, 0, 396, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_031(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_031", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.3444;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_030(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_030", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.5118;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_030(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_030", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.3994;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_029(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_029", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.5334;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_029(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_029", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.6458;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_028(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_028", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.2195;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_028(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_028", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.1071;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_027(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_027", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.8456;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_027(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_027", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.7333;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_026(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_026", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.8504;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_026(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_026", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.9628;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_025(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_025", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.852;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_025(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_025", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.7396;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_024(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_024", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.0846;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_024(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_024", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.197;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_023(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_023", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.197;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_023(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_023", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.0846;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_022(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_022", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.7396;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_022(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_022", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.852;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_021(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_021", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.9628;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_021(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_021", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.8504;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_020(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_020", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.7333;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_020(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_020", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.8456;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_019(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_019", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.1071;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_019(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_019", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.2195;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_018(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_018", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.6458;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_018(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_018", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.5334;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_017(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_017", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.3994;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_017(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_017", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.5118;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_016(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_016", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.3444;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_HS_002(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_HS_002", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = .9799;
        ret.position.y  = 14.8711;
        ret.position.z  = 35.795;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -38.9985,-7.6127,40.4869,-38.9985,-11.864,53.9842,-38.9985,-11.864,40.4869,26.9984,-7.6127,53.9842,38.9984,-11.864,53.9842,26.9984,-11.864,53.9842,38.9984,-7.6127,-40.5146,38.9984,-11.864,-53.9821,38.9984,-11.864,-40.5146,-27.0016,-7.6127,-53.9821,-38.9985,-11.864,-53.9821,-27.0016,-11.864,-53.9821,26.9984,-11.864,-53.9821,26.9984,-11.864,-40.5146,-38.9985,-7.6127,-40.5146,-27.0016,-7.6127,-40.5146,-38.9985,-7.6127,53.9842
                ,-27.0016,-7.6127,40.4869,-27.0016,-7.6127,53.9842,-38.9985,13.1378,-6.0101,-38.9985,-7.6127,-6.0101,-38.9985,-7.6127,5.9841,-27.0016,-7.6127,-6.0101,-27.0016,-7.6127,5.9841,-38.9985,13.1378,5.9841,26.9984,-11.864,40.4869,38.9984,-11.864,40.4869,26.9984,-11.864,5.9841,38.9984,-11.864,5.9841,26.9984,-11.864,-6.0101,38.9984,-11.864,-6.0101,38.9984,-7.6127,53.9842,38.9984,-7.6127,40.4869,38.9984,-7.6127,5.9841
                ,38.9984,-7.6127,-6.0101,-38.9985,-7.6127,-53.9821,-38.9985,-11.864,-40.5146,-38.9985,-11.864,-6.0101,-38.9985,-11.864,5.9841,-27.0016,-11.864,-6.0101,-27.0016,-11.864,-40.5146,-27.0016,-11.864,5.9841,-27.0016,-11.864,40.4869,-27.0016,-11.864,53.9842,-27.0016,13.1378,53.9842,26.9984,13.1378,-40.5146,26.9984,-7.6127,-40.5146,26.9984,-7.6127,5.9841,26.9984,13.1378,40.4869,26.9984,-7.6127,40.4869,26.9984,-7.6127,-6.0101
                ,38.9984,13.1378,-6.0101,-27.0016,13.1378,40.4869,26.9984,13.1378,5.9841,38.9984,-7.6127,-53.9821,26.9984,-7.6127,-53.9821,-27.0016,13.1378,-53.9821,-38.9985,13.1378,40.4869,-27.0016,13.1378,5.9841,-27.0016,13.1378,-40.5146,-27.0016,13.1378,-6.0101,26.9984,13.1378,-6.0101,38.9984,13.1378,-40.5146,38.9984,13.1378,5.9841,38.9984,13.1378,40.4869,26.9984,13.1378,53.9842,26.9984,13.1378,-53.9821,-38.9985,13.1378,-40.5146
                
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(396);
            CONTIG(_i, 0, 0, 11);
            _i.set([8,12,13,14,9,15,16,17,18,14,19,20,21,22,23,23,24,21,4,25,5,26,27,25,28,29,27,30,13,29,31,26,4,32,28,26,33,30,28,34,8,30,35,36,10,14,37,36,20,38
            ,37,21,2,38,39,36,37,29,40,39,41,37,38,27,39,41,42,38,2,25,41,42,43,2,1,5,42,43,17,44,18,6,45,46,47,34,33,3,48,49,50,51,34,0,52,17,3,32,31,33
            ,53,47,46,54,6,55,56,9,40,10,36,13,11,40,54,12,7,55,11,12,16,43,1,18,5,43,57,58,52,19,59,60,61,62,51,60,45,61,58,61,53,48,63,64,52,53,48,44,48,65
            ,59,66,45,46,66,55,18,65,3,32,63,33,9,59,15,47,61,50,21,57,0,20,60,22,34,62,6,22,58,23,49,64,32,15,67,14,0,16,1,3,31,4,6,54,7,9,35,10,8,7
            ,12,14,35,9,16,0,17,14,67,19,21,20,22,23,58,24,4,26,25,26,28,27,28,30,29,30,8,13,31,32,26,32,33,28,33,34,30,34,6,8,35,14,36,14,20,37,20,21,38,21
            ,0,2,39,40,36,29,13,40,41,39,37,27,29,39,42,41,38,25,27,41,43,42,2,5,25,42,17,52,44,6,62,45,47,50,34,3,65,48,50,61,51,0,57,52,3,49,32,33,63,53
            ,46,55,54,55,66,56,40,11,10,13,12,11,54,55,12,55,9,11,16,18,43,18,3,5,57,24,58,19,67,59,61,45,62,60,59,45,58,60,61,48,53,63,52,58,53,44,52,48,59,56
            ,66,46,45,66,18,44,65,32,64,63,9,56,59,47,53,61,21,24,57,20,19,60,34,51,62,22,60,58,49,48,64,15,59,67], 12);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,.3015,.3015,.9045,.5773,-.5773,.5773,0,-.7071,.7071,.9045,.3015,-.3015,.5773,-.5773,-.5773,.7071,-.7071,0,-.3015,.3015,-.9045,-.5773,-.5773,-.5773,0,-.7071,-.7071,0,-.7071,-.7071,0,-1,0,-.9045,.3015,-.3015,-.5773,.5773,-.5773,-.5773,.5773,.5773
                ,-.5773,.5773,.5773,-.3015,.3015,.9045,-.5773,.5773,.5773,-.9045,.3015,.3015,-.9045,.3015,-.3015,-.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,.5773,.5773,.5773,.9045,.3015,.3015,.9045,.3015,-.3015
                ,.9045,.3015,.3015,-.5773,.5773,-.5773,-.7071,-.7071,0,-.7071,-.7071,0,-.7071,-.7071,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-.7071,.7071,-.5773,.5773,.5773,.3015,.9045,-.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.3015,.9045,.3015,.5773,.5773,.5773,.5773,.5773,.5773
                ,.5773,.5773,.5773,-.3015,.9045,.3015,.3015,.9045,-.3015,.5773,.5773,-.5773,.3015,.3015,-.9045,-.5773,.5773,-.5773,-.5773,.5773,.5773,-.3015,.9045,-.3015,-.3015,.9045,-.3015,-.3015,.9045,.3015,.3015,.9045,.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773
                
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.006");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 68, 0, 396, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_016(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_016", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.232;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_nodeA(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".nodeA", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -183.1599;
        ret.position.y  = -10.9559;
        ret.position.z  = -322.6925;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;
        ret.MLB = cloning ? child_MLB(scene, ret, source.MLB) : child_MLB(scene, ret);

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                92.3771,-5.1313,-.5985,90.8875,-3.6418,-.5985,90.8875,-5.1313,-.5985,-83.0337,-5.1313,-.5985,-83.0337,-3.6418,576.3816,-83.0337,-5.1313,576.3816,-81.5488,-5.1313,-.5985,-83.0337,-3.6418,-.5985,-81.5488,-3.6418,-.5985,-83.0337,34.5633,-.5985,92.3771,-3.6418,-.5985,90.8875,34.5633,-.5985,90.8875,34.5633,576.3816,90.8875,-3.6418,576.3816,-83.0337,34.5633,576.3816,-81.5488,-3.6418,576.3816,-81.5488,34.5633,-.5985
                ,92.3771,-3.6418,576.3816,92.3771,34.5633,-.5985,-81.5488,-5.1313,576.3816,92.3771,-5.1313,576.3816,90.8875,-5.1313,576.3816,92.3771,34.5633,576.3816,-81.5488,34.5633,576.3816
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,5,6,7,3,2,8,6,8,9,7,10,11,1,1,12,13,7,14,4,15,16,8,17,18,10,16,14,9,18,12,11,19,2,6,5,6,3,1,15,8,20,10,0,21,0
            ,2,17,12,22,15,21,19,20,13,17,15,14,23,4,19,5,0,10,1,3,7,4,6,8,7,2,1,8,8,16,9,10,18,11,1,11,12,7,9,14,15,23,16,17,22,18,16,23,14,18
            ,22,12,19,21,2,5,19,6,1,13,15,20,17,10,21,20,0,17,13,12,15,13,21,20,21,13,15,4,14,4,15,19]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                .5773,-.5773,-.5773,-.3015,.3015,-.9045,0,-.7071,-.7071,-.5773,-.5773,-.5773,-.7071,0,.7071,-.5773,-.5773,.5773,0,-.7071,-.7071,-.7071,0,-.7071,.3015,.3015,-.9045,-.5773,.5773,-.5773,.7071,0,-.7071,-.5773,.5773,-.5773,-.5773,.5773,.5773,-.3015,.3015,.9045,-.5773,.5773,.5773,.3015,.3015,.9045,.5773,.5773,-.5773
                ,.7071,0,.7071,.5773,.5773,-.5773,0,-.7071,.7071,.5773,-.5773,.5773,0,-.7071,.7071,.5773,.5773,.5773,.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.MTL0.001");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_MLB(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".MLB", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 4.9369;
        ret.position.y  = -2.8509;
        ret.position.z  = 287.0386;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;
        ret.DIMM_A0_015 = cloning ? child_DIMM_A0_015(scene, ret, source.DIMM_A0_015) : child_DIMM_A0_015(scene, ret);
        ret.CPU1_HS_001 = cloning ? child_CPU1_HS_001(scene, ret, source.CPU1_HS_001) : child_CPU1_HS_001(scene, ret);
        ret.CPU1_DS1_015 = cloning ? child_CPU1_DS1_015(scene, ret, source.CPU1_DS1_015) : child_CPU1_DS1_015(scene, ret);
        ret.CPU1_DS1_014 = cloning ? child_CPU1_DS1_014(scene, ret, source.CPU1_DS1_014) : child_CPU1_DS1_014(scene, ret);
        ret.DIMM_A0_014 = cloning ? child_DIMM_A0_014(scene, ret, source.DIMM_A0_014) : child_DIMM_A0_014(scene, ret);
        ret.DIMM_A0_013 = cloning ? child_DIMM_A0_013(scene, ret, source.DIMM_A0_013) : child_DIMM_A0_013(scene, ret);
        ret.CPU1_DS1_013 = cloning ? child_CPU1_DS1_013(scene, ret, source.CPU1_DS1_013) : child_CPU1_DS1_013(scene, ret);
        ret.CPU1_DS1_012 = cloning ? child_CPU1_DS1_012(scene, ret, source.CPU1_DS1_012) : child_CPU1_DS1_012(scene, ret);
        ret.DIMM_A0_012 = cloning ? child_DIMM_A0_012(scene, ret, source.DIMM_A0_012) : child_DIMM_A0_012(scene, ret);
        ret.DIMM_A0_011 = cloning ? child_DIMM_A0_011(scene, ret, source.DIMM_A0_011) : child_DIMM_A0_011(scene, ret);
        ret.CPU1_DS1_011 = cloning ? child_CPU1_DS1_011(scene, ret, source.CPU1_DS1_011) : child_CPU1_DS1_011(scene, ret);
        ret.CPU1_DS1_010 = cloning ? child_CPU1_DS1_010(scene, ret, source.CPU1_DS1_010) : child_CPU1_DS1_010(scene, ret);
        ret.DIMM_A0_010 = cloning ? child_DIMM_A0_010(scene, ret, source.DIMM_A0_010) : child_DIMM_A0_010(scene, ret);
        ret.DIMM_A0_009 = cloning ? child_DIMM_A0_009(scene, ret, source.DIMM_A0_009) : child_DIMM_A0_009(scene, ret);
        ret.CPU1_DS1_009 = cloning ? child_CPU1_DS1_009(scene, ret, source.CPU1_DS1_009) : child_CPU1_DS1_009(scene, ret);
        ret.CPU1_DS1_008 = cloning ? child_CPU1_DS1_008(scene, ret, source.CPU1_DS1_008) : child_CPU1_DS1_008(scene, ret);
        ret.DIMM_A0_008 = cloning ? child_DIMM_A0_008(scene, ret, source.DIMM_A0_008) : child_DIMM_A0_008(scene, ret);
        ret.DIMM_A0_007 = cloning ? child_DIMM_A0_007(scene, ret, source.DIMM_A0_007) : child_DIMM_A0_007(scene, ret);
        ret.CPU1_DS1_007 = cloning ? child_CPU1_DS1_007(scene, ret, source.CPU1_DS1_007) : child_CPU1_DS1_007(scene, ret);
        ret.CPU1_DS1_006 = cloning ? child_CPU1_DS1_006(scene, ret, source.CPU1_DS1_006) : child_CPU1_DS1_006(scene, ret);
        ret.DIMM_A0_006 = cloning ? child_DIMM_A0_006(scene, ret, source.DIMM_A0_006) : child_DIMM_A0_006(scene, ret);
        ret.DIMM_A0_005 = cloning ? child_DIMM_A0_005(scene, ret, source.DIMM_A0_005) : child_DIMM_A0_005(scene, ret);
        ret.CPU1_DS1_005 = cloning ? child_CPU1_DS1_005(scene, ret, source.CPU1_DS1_005) : child_CPU1_DS1_005(scene, ret);
        ret.CPU1_DS1_004 = cloning ? child_CPU1_DS1_004(scene, ret, source.CPU1_DS1_004) : child_CPU1_DS1_004(scene, ret);
        ret.DIMM_A0_004 = cloning ? child_DIMM_A0_004(scene, ret, source.DIMM_A0_004) : child_DIMM_A0_004(scene, ret);
        ret.DIMM_A0_003 = cloning ? child_DIMM_A0_003(scene, ret, source.DIMM_A0_003) : child_DIMM_A0_003(scene, ret);
        ret.CPU1_DS1_003 = cloning ? child_CPU1_DS1_003(scene, ret, source.CPU1_DS1_003) : child_CPU1_DS1_003(scene, ret);
        ret.CPU1_DS1_002 = cloning ? child_CPU1_DS1_002(scene, ret, source.CPU1_DS1_002) : child_CPU1_DS1_002(scene, ret);
        ret.DIMM_A0_002 = cloning ? child_DIMM_A0_002(scene, ret, source.DIMM_A0_002) : child_DIMM_A0_002(scene, ret);
        ret.DIMM_A0_001 = cloning ? child_DIMM_A0_001(scene, ret, source.DIMM_A0_001) : child_DIMM_A0_001(scene, ret);
        ret.CPU1_DS1_001 = cloning ? child_CPU1_DS1_001(scene, ret, source.CPU1_DS1_001) : child_CPU1_DS1_001(scene, ret);
        ret.CPU1_DS1 = cloning ? child_CPU1_DS1(scene, ret, source.CPU1_DS1) : child_CPU1_DS1(scene, ret);
        ret.CPU1_HS = cloning ? child_CPU1_HS(scene, ret, source.CPU1_HS) : child_CPU1_HS(scene, ret);
        ret.DIMM_A0 = cloning ? child_DIMM_A0(scene, ret, source.DIMM_A0) : child_DIMM_A0(scene, ret);

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                85.1041,0,-287.023,-85.1042,0,287.0229,-85.1042,0,-287.023,85.1041,0,287.0229,-85.1042,2.0187,287.0229,85.1041,2.0187,287.0229
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,0,3,1,3,5,4]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                0,1,0,0,.7071,-.7071,0,1,0,0,.7071,-.7071,0,0,-1,0,0,-1
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.003");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 6, 0, 12, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_015(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_015", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.232;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_HS_001(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_HS_001", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = .9799;
        ret.position.y  = 14.8711;
        ret.position.z  = 35.795;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -38.9985,-7.6127,40.4869,-38.9985,-11.864,53.9842,-38.9985,-11.864,40.4869,26.9984,-7.6127,53.9842,38.9984,-11.864,53.9842,26.9984,-11.864,53.9842,38.9984,-7.6127,-40.5146,38.9984,-11.864,-53.9821,38.9984,-11.864,-40.5146,-27.0016,-7.6127,-53.9821,-38.9985,-11.864,-53.9821,-27.0016,-11.864,-53.9821,26.9984,-11.864,-53.9821,26.9984,-11.864,-40.5146,-38.9985,-7.6127,-40.5146,-27.0016,-7.6127,-40.5146,-38.9985,-7.6127,53.9842
                ,-27.0016,-7.6127,40.4869,-27.0016,-7.6127,53.9842,-38.9985,13.1378,-6.0101,-38.9985,-7.6127,-6.0101,-38.9985,-7.6127,5.9841,-27.0016,-7.6127,-6.0101,-27.0016,-7.6127,5.9841,-38.9985,13.1378,5.9841,26.9984,-11.864,40.4869,38.9984,-11.864,40.4869,26.9984,-11.864,5.9841,38.9984,-11.864,5.9841,26.9984,-11.864,-6.0101,38.9984,-11.864,-6.0101,38.9984,-7.6127,53.9842,38.9984,-7.6127,40.4869,38.9984,-7.6127,5.9841
                ,38.9984,-7.6127,-6.0101,-38.9985,-7.6127,-53.9821,-38.9985,-11.864,-40.5146,-38.9985,-11.864,-6.0101,-38.9985,-11.864,5.9841,-27.0016,-11.864,-6.0101,-27.0016,-11.864,-40.5146,-27.0016,-11.864,5.9841,-27.0016,-11.864,40.4869,-27.0016,-11.864,53.9842,-27.0016,13.1378,53.9842,26.9984,13.1378,-40.5146,26.9984,-7.6127,-40.5146,26.9984,-7.6127,5.9841,26.9984,13.1378,40.4869,26.9984,-7.6127,40.4869,26.9984,-7.6127,-6.0101
                ,38.9984,13.1378,-6.0101,-27.0016,13.1378,40.4869,26.9984,13.1378,5.9841,38.9984,-7.6127,-53.9821,26.9984,-7.6127,-53.9821,-27.0016,13.1378,-53.9821,-38.9985,13.1378,40.4869,-27.0016,13.1378,5.9841,-27.0016,13.1378,-40.5146,-27.0016,13.1378,-6.0101,26.9984,13.1378,-6.0101,38.9984,13.1378,-40.5146,38.9984,13.1378,5.9841,38.9984,13.1378,40.4869,26.9984,13.1378,53.9842,26.9984,13.1378,-53.9821,-38.9985,13.1378,-40.5146
                
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(396);
            CONTIG(_i, 0, 0, 11);
            _i.set([8,12,13,14,9,15,16,17,18,14,19,20,21,22,23,23,24,21,4,25,5,26,27,25,28,29,27,30,13,29,31,26,4,32,28,26,33,30,28,34,8,30,35,36,10,14,37,36,20,38
            ,37,21,2,38,39,36,37,29,40,39,41,37,38,27,39,41,42,38,2,25,41,42,43,2,1,5,42,43,17,44,18,6,45,46,47,34,33,3,48,49,50,51,34,0,52,17,3,32,31,33
            ,53,47,46,54,6,55,56,9,40,10,36,13,11,40,54,12,7,55,11,12,16,43,1,18,5,43,57,58,52,19,59,60,61,62,51,60,45,61,58,61,53,48,63,64,52,53,48,44,48,65
            ,59,66,45,46,66,55,18,65,3,32,63,33,9,59,15,47,61,50,21,57,0,20,60,22,34,62,6,22,58,23,49,64,32,15,67,14,0,16,1,3,31,4,6,54,7,9,35,10,8,7
            ,12,14,35,9,16,0,17,14,67,19,21,20,22,23,58,24,4,26,25,26,28,27,28,30,29,30,8,13,31,32,26,32,33,28,33,34,30,34,6,8,35,14,36,14,20,37,20,21,38,21
            ,0,2,39,40,36,29,13,40,41,39,37,27,29,39,42,41,38,25,27,41,43,42,2,5,25,42,17,52,44,6,62,45,47,50,34,3,65,48,50,61,51,0,57,52,3,49,32,33,63,53
            ,46,55,54,55,66,56,40,11,10,13,12,11,54,55,12,55,9,11,16,18,43,18,3,5,57,24,58,19,67,59,61,45,62,60,59,45,58,60,61,48,53,63,52,58,53,44,52,48,59,56
            ,66,46,45,66,18,44,65,32,64,63,9,56,59,47,53,61,21,24,57,20,19,60,34,51,62,22,60,58,49,48,64,15,59,67], 12);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,.3015,.3015,.9045,.5773,-.5773,.5773,0,-.7071,.7071,.9045,.3015,-.3015,.5773,-.5773,-.5773,.7071,-.7071,0,-.3015,.3015,-.9045,-.5773,-.5773,-.5773,0,-.7071,-.7071,0,-.7071,-.7071,0,-1,0,-.9045,.3015,-.3015,-.5773,.5773,-.5773,-.5773,.5773,.5773
                ,-.5773,.5773,.5773,-.3015,.3015,.9045,-.5773,.5773,.5773,-.9045,.3015,.3015,-.9045,.3015,-.3015,-.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,.5773,.5773,.5773,.9045,.3015,.3015,.9045,.3015,-.3015
                ,.9045,.3015,.3015,-.5773,.5773,-.5773,-.7071,-.7071,0,-.7071,-.7071,0,-.7071,-.7071,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-.7071,.7071,-.5773,.5773,.5773,.3015,.9045,-.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.3015,.9045,.3015,.5773,.5773,.5773,.5773,.5773,.5773
                ,.5773,.5773,.5773,-.3015,.9045,.3015,.3015,.9045,-.3015,.5773,.5773,-.5773,.3015,.3015,-.9045,-.5773,.5773,-.5773,-.5773,.5773,.5773,-.3015,.9045,-.3015,-.3015,.9045,-.3015,-.3015,.9045,.3015,.3015,.9045,.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773
                
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.006");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 68, 0, 396, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_015(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_015", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.3444;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_014(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_014", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.5118;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_014(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_014", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.3994;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_013(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_013", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.5334;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_013(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_013", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.6458;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_012(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_012", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.2195;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_012(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_012", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.1071;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_011(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_011", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.8456;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_011(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_011", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.7333;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_010(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_010", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.8504;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_010(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_010", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.9628;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_009(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_009", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.852;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_009(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_009", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.7396;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_008(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_008", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.0846;
        ret.position.y  = 10.3805;
        ret.position.z  = 35.7827;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_008(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_008", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.197;
        ret.position.y  = 20.1001;
        ret.position.z  = 36.3623;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_007(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_007", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.197;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_007(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_007", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 75.0846;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_006(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_006", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.7396;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_006(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_006", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 65.852;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_005(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_005", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.9628;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_005(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_005", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 56.8504;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_004(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_004", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.7333;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_004(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_004", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = 47.8456;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_003(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_003", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.1071;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_003(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_003", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -70.2195;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_002(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_002", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.6458;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_002(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_002", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -61.5334;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0_001(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0_001", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.3994;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1_001(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1_001", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -53.5118;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_DS1(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_DS1", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.3444;
        ret.position.y  = 10.3805;
        ret.position.z  = -126.33;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -3.1008,-2.326,64.2108,-3.1008,-8.326,70.0005,-3.1008,-8.326,64.2108,-3.1008,-2.326,70.0005,3.1008,-8.326,70.0005,3.1008,-2.326,-64.1652,3.1008,-8.326,-70.0005,3.1008,-8.326,-64.1652,3.1008,-2.326,-70.0005,-3.1008,-8.326,-70.0005,-3.1008,-8.326,-64.1652,3.1008,12.6713,-70.0005,-3.1008,-2.326,-64.1652,3.1008,12.6713,-64.1652,3.1008,-2.326,64.2108,3.1008,-8.326,64.2108,3.1008,-2.326,70.0005
                ,-3.1008,-2.326,-70.0005,-3.1008,12.6713,-64.1652,-3.1008,12.6713,70.0005,3.1008,12.6713,64.2108,3.1008,12.6713,70.0005,-3.1008,12.6713,-70.0005,-3.1008,12.6713,64.2108
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array([0,1,2,3,4,1,5,6,7,8,9,6,7,9,10,5,11,8,12,13,5,0,5,14,4,2,1,15,10,2,16,15,4,14,7,15,17,10,9,12,2,10,18,11,13,19,20,21,0,19
            ,3,8,22,17,14,23,0,16,20,14,3,21,16,17,18,12,0,3,1,3,16,4,5,8,6,8,17,9,7,6,9,5,13,11,12,18,13,0,12,5,4,15,2,15,7,10,16,14,15,14
            ,5,7,17,12,10,12,0,2,18,22,11,19,23,20,0,23,19,8,11,22,14,20,23,16,21,20,3,19,21,17,22,18]);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,-.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,-.7071,0,.7071,.5773,-.5773,.5773,.9045,.3015,.3015,.5773,-.5773,-.5773,.7071,-.7071,0,.7071,0,-.7071,-.5773,-.5773,-.5773,-.7071,-.7071,0,.5773,.5773,-.5773,-.9045,.3015,.3015,.5773,.5773,.5773,.9045,.3015,-.3015,.7071,-.7071,0,.7071,0,.7071
                ,-.7071,0,-.7071,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,-.5773,.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.009");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 24, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1_HS(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1_HS", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = .9799;
        ret.position.y  = 14.8711;
        ret.position.z  = -126.3177;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;
        ret.CPU1 = cloning ? child_CPU1(scene, ret, source.CPU1) : child_CPU1(scene, ret);

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -38.9985,-7.6127,40.4869,-38.9985,-11.864,53.9842,-38.9985,-11.864,40.4869,26.9984,-7.6127,53.9842,38.9984,-11.864,53.9842,26.9984,-11.864,53.9842,38.9984,-7.6127,-40.5146,38.9984,-11.864,-53.9821,38.9984,-11.864,-40.5146,-27.0016,-7.6127,-53.9821,-38.9985,-11.864,-53.9821,-27.0016,-11.864,-53.9821,26.9984,-11.864,-53.9821,26.9984,-11.864,-40.5146,-38.9985,-7.6127,-40.5146,-27.0016,-7.6127,-40.5146,-38.9985,-7.6127,53.9842
                ,-27.0016,-7.6127,40.4869,-27.0016,-7.6127,53.9842,-38.9985,13.1378,-6.0101,-38.9985,-7.6127,-6.0101,-38.9985,-7.6127,5.9841,-27.0016,-7.6127,-6.0101,-27.0016,-7.6127,5.9841,-38.9985,13.1378,5.9841,26.9984,-11.864,40.4869,38.9984,-11.864,40.4869,26.9984,-11.864,5.9841,38.9984,-11.864,5.9841,26.9984,-11.864,-6.0101,38.9984,-11.864,-6.0101,38.9984,-7.6127,53.9842,38.9984,-7.6127,40.4869,38.9984,-7.6127,5.9841
                ,38.9984,-7.6127,-6.0101,-38.9985,-7.6127,-53.9821,-38.9985,-11.864,-40.5146,-38.9985,-11.864,-6.0101,-38.9985,-11.864,5.9841,-27.0016,-11.864,-6.0101,-27.0016,-11.864,-40.5146,-27.0016,-11.864,5.9841,-27.0016,-11.864,40.4869,-27.0016,-11.864,53.9842,-27.0016,13.1378,53.9842,26.9984,13.1378,-40.5146,26.9984,-7.6127,-40.5146,26.9984,-7.6127,5.9841,26.9984,13.1378,40.4869,26.9984,-7.6127,40.4869,26.9984,-7.6127,-6.0101
                ,38.9984,13.1378,-6.0101,-27.0016,13.1378,40.4869,26.9984,13.1378,5.9841,38.9984,-7.6127,-53.9821,26.9984,-7.6127,-53.9821,-27.0016,13.1378,-53.9821,-38.9985,13.1378,40.4869,-27.0016,13.1378,5.9841,-27.0016,13.1378,-40.5146,-27.0016,13.1378,-6.0101,26.9984,13.1378,-6.0101,38.9984,13.1378,-40.5146,38.9984,13.1378,5.9841,38.9984,13.1378,40.4869,26.9984,13.1378,53.9842,26.9984,13.1378,-53.9821,-38.9985,13.1378,-40.5146
                
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(396);
            CONTIG(_i, 0, 0, 11);
            _i.set([8,12,13,14,9,15,16,17,18,14,19,20,21,22,23,23,24,21,4,25,5,26,27,25,28,29,27,30,13,29,31,26,4,32,28,26,33,30,28,34,8,30,35,36,10,14,37,36,20,38
            ,37,21,2,38,39,36,37,29,40,39,41,37,38,27,39,41,42,38,2,25,41,42,43,2,1,5,42,43,17,44,18,6,45,46,47,34,33,3,48,49,50,51,34,0,52,17,3,32,31,33
            ,53,47,46,54,6,55,56,9,40,10,36,13,11,40,54,12,7,55,11,12,16,43,1,18,5,43,57,58,52,19,59,60,61,62,51,60,45,61,58,61,53,48,63,64,52,53,48,44,48,65
            ,59,66,45,46,66,55,18,65,3,32,63,33,9,59,15,47,61,50,21,57,0,20,60,22,34,62,6,22,58,23,49,64,32,15,67,14,0,16,1,3,31,4,6,54,7,9,35,10,8,7
            ,12,14,35,9,16,0,17,14,67,19,21,20,22,23,58,24,4,26,25,26,28,27,28,30,29,30,8,13,31,32,26,32,33,28,33,34,30,34,6,8,35,14,36,14,20,37,20,21,38,21
            ,0,2,39,40,36,29,13,40,41,39,37,27,29,39,42,41,38,25,27,41,43,42,2,5,25,42,17,52,44,6,62,45,47,50,34,3,65,48,50,61,51,0,57,52,3,49,32,33,63,53
            ,46,55,54,55,66,56,40,11,10,13,12,11,54,55,12,55,9,11,16,18,43,18,3,5,57,24,58,19,67,59,61,45,62,60,59,45,58,60,61,48,53,63,52,58,53,44,52,48,59,56
            ,66,46,45,66,18,44,65,32,64,63,9,56,59,47,53,61,21,24,57,20,19,60,34,51,62,22,60,58,49,48,64,15,59,67], 12);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.9045,.3015,.3015,-.5773,-.5773,.5773,-.7071,-.7071,0,.3015,.3015,.9045,.5773,-.5773,.5773,0,-.7071,.7071,.9045,.3015,-.3015,.5773,-.5773,-.5773,.7071,-.7071,0,-.3015,.3015,-.9045,-.5773,-.5773,-.5773,0,-.7071,-.7071,0,-.7071,-.7071,0,-1,0,-.9045,.3015,-.3015,-.5773,.5773,-.5773,-.5773,.5773,.5773
                ,-.5773,.5773,.5773,-.3015,.3015,.9045,-.5773,.5773,.5773,-.9045,.3015,.3015,-.9045,.3015,-.3015,-.5773,.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773,-.5773,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,0,-1,0,.7071,-.7071,0,.5773,.5773,.5773,.9045,.3015,.3015,.9045,.3015,-.3015
                ,.9045,.3015,.3015,-.5773,.5773,-.5773,-.7071,-.7071,0,-.7071,-.7071,0,-.7071,-.7071,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-.7071,.7071,-.5773,.5773,.5773,.3015,.9045,-.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.3015,.9045,.3015,.5773,.5773,.5773,.5773,.5773,.5773
                ,.5773,.5773,.5773,-.3015,.9045,.3015,.3015,.9045,-.3015,.5773,.5773,-.5773,.3015,.3015,-.9045,-.5773,.5773,-.5773,-.5773,.5773,.5773,-.3015,.9045,-.3015,-.3015,.9045,-.3015,-.3015,.9045,.3015,.3015,.9045,.3015,.5773,.5773,-.5773,.5773,.5773,-.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773
                
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.006");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 68, 0, 396, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_CPU1(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".CPU1", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -.7968;
        ret.position.y  = -12.3171;
        ret.position.z  = 3.4432;
        ret.rotation.x  = -1.5708;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                24.4354,-35.9354,.2419,23.5,-35.7071,-.1289,23.5,-36.3229,.2419,-23.5,-36.3229,.2419,23.5,-36.3229,.2419,23.5,-35.7071,-.1289,-24.4354,-35.9354,.2419,24.4354,-35.9354,.2419,23.5,-36.3229,.2419,-23.5,-36.3229,.2419,23.5,-35,-.2581,-23.5,-35.7074,-.1288,23.5,-35,-.2581,24.8229,-35,.2419,24.2071,-35,-.1289,23.5,35,-.2581,23.5,-35,-.2581
                ,24.2071,-35,-.1289,-23.5,-35,-.2581,23.5,35,-.2581,-23.5,-35,-.2581,23.5,-35,-.2581,24.2074,35,-.1288,24.8229,-35,.2419,-24.8229,-35,.2419,24.8229,-35,.2419,-24.8229,35,.2419,24.8229,35,.2419,24.8229,35,.2419,-24.4354,35.9354,.2419,24.4354,35.9354,.2419,24.2074,35,-.1288,24.8229,35,.2419,24.4354,35.9354,.2419
                ,-23.5,36.3229,.2419,23.5,36.3229,.2419,23.5,35,-.2581,23.5,36.3229,.2419,-23.5,35.7073,-.1288,23.5,36.3229,.2419,-23.5,36.3229,.2419,23.5,35.7073,-.1288,23.5,35.7073,-.1288,-23.5,35.7073,-.1288,-23.5,36.3229,.2419,-24.4354,35.9354,.2419,-23.5,35,-.2581,-24.8229,35,.2419,-24.2074,-35,-.1288,-24.8229,35,.2419,-24.8229,-35,.2419
                ,-24.2074,35,-.1288,-24.2074,35,-.1288,-24.2074,-35,-.1288,-24.8229,-35,.2419,-24.4354,-35.9354,.2419,-23.5,-35,-.2581,-23.5,-36.3229,.2419,-23.5,-35.7074,-.1288,-23.5,35,-.2581,-23.5,-35,-.2581,-23.5,35,-.2581,-23.5,35,-.2581,23.5,35,-.2581
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(132);
            CONTIG(_i, 0, 0, 9);
            _i.set([6,8,0,10,1,11,5,12,11,3,5,13,14,10,15,16,17,0,13,10,11,12,18,19,20,21,22,17,23,22,15,17,24,25,7,26,27,25,22,23,28,24,26,25,6,24,7,29,30,27
            ,31,32,33,26,29,27,34,35,30,36,33,37,29,34,30,31,33,36,38,39,40,41,36,37,42,39,38,43,44,45,46,45,47,43,45,46,48,49,50,51,46,47,52,49,48,53,54,55,56,55
            ,57,53,55,56,58,56,57,19,59,20,52,60,61,52,48,60,42,62,63,42,38,62], 10);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                .3083,-.2604,-.9149,.2856,-.3052,-.9084,.209,-.5045,-.8377,0,-.5159,-.8566,0,-.5159,-.8566,0,-.3535,-.9354,0,0,1,0,0,1,0,0,1,0,0,1,.3297,-.2706,-.9044,0,-.3536,-.9354,0,-.1797,-.9837,.3388,-.2856,-.8964,0,-1,0,.1798,0,-.9837,.1797,0,-.9837
                ,.3535,0,-.9354,0,-.1798,-.9837,0,0,-1,0,0,-1,0,0,-1,.3536,0,-.9354,.5159,0,-.8566,0,0,1,0,0,1,0,0,1,0,0,1,.5159,0,-.8566,0,0,1,0,0,1,.3053,.2856,-.9084,.5045,.209,-.8377,.2604,.3083,-.9149
                ,0,0,1,0,0,1,.2706,.3296,-.9045,.2857,.3388,-.8964,0,.3536,-.9354,0,.5159,-.8566,0,.5159,-.8566,1,0,0,0,.3536,-.9354,-.2856,.3053,-.9084,-.209,.5045,-.8377,-.3083,.2604,-.9149,-.3296,.2706,-.9045,-.3388,.2857,-.8964,-.3536,0,-.9354,-.5159,0,-.8566,-.5159,0,-.8566
                ,0,1,0,-.3536,0,-.9354,-.3053,-.2856,-.9084,-.5045,-.209,-.8377,-.2604,-.3083,-.9149,-.2706,-.3296,-.9045,-.2857,-.3388,-.8964,-1,0,0,0,0,-1,-.1798,0,-.9837,-.1798,0,-.9837,0,.1798,-.9837,0,.1798,-.9837
            ]),
            false);

            ret.setVerticesData(_B.VertexBuffer.UVKind, new Float32Array([
                .1531,.3913,.147,.3867,.1522,.3834,.0207,.0091,.1522,.3834,.147,.3867,.0129,.0012,.1531,.3913,.1522,.3834,.0207,.0091,.1452,.3904,.0062,.0115,.1452,.3904,.1535,.3985,.1478,.3948,.1452,.9839,.1452,.3904,.1478,.3948,.0012,.0137,.1452,.9839,.0012,.0137,.1452,.3904,.1478,.9861,.1535,.3985,.0095,0
                ,.1535,.3985,.0095,.602,.1535,.9879,.1535,.9879,.0129,.6323,.1531,.998,.1478,.9861,.1535,.9879,.1531,.998,.0207,.6585,.1522,1,.1452,.9839,.1522,1,.0062,.6445,.1522,1,.0207,.6585,.147,.9925,.147,.9925,.0062,.6445,.0207,.6585,.0129,.6323,.0012,.6277,.0095,.602,0,.0067,.0095,.602
                ,.0095,0,0,.6148,0,.6148,0,.0067,.0095,0,.0129,.0012,.0012,.0137,.0207,.0091,.0062,.0115,.0012,.6277,.0012,.0137,.0012,.6277,.0012,.6277,.1452,.9839
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.DEFAULT_MTL");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 64, 0, 132, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function child_DIMM_A0(scene, parent, source){
        var ret = new BABYLON.Mesh(parent.name + ".DIMM_A0", scene, parent, source);
        var cloning = source && source !== null;
        var load = _B.Tools.Now;
        var geo = 0;
        var shape = 0;
        ret.position.x  = -45.232;
        ret.position.y  = 20.1001;
        ret.position.z  = -125.7504;
        ret.rotation.x  = 0;
        ret.rotation.y  = 0;
        ret.rotation.z  = 0;
        ret.scaling.x   = 1;
        ret.scaling.y   = 1;
        ret.scaling.z   = 1;

        ret.id = ret.name;
        ret.billboardMode  = 0;
        ret.isVisible  = false; //always false; evaluated again at bottom
        ret.setEnabled(true);
        ret.checkCollisions = false;
        ret.receiveShadows  = false;
        ret.castShadows  = false;
        ret.initComplete = false;
        if (!cloning){
            geo = _B.Tools.Now;
            ret.setVerticesData(_B.VertexBuffer.PositionKind, new Float32Array([
                -.6885,15.4674,64.3085,-.6885,-11.7718,66.6771,-.6885,-11.7718,64.3085,-.6885,15.4674,66.6771,.7069,-11.7718,66.6771,.7069,15.4674,-64.3139,.7069,-11.7718,-66.6766,.7069,-11.7718,-64.3139,.7069,15.4674,-66.6766,-.6885,-11.7718,-66.6766,.7069,-15.791,-64.3139,-.6885,-15.791,-66.6766,-.6885,-15.791,-64.3139,-.6885,15.4674,-64.3139,.7069,-15.791,-66.6766,.7069,-15.791,66.6771,-.6885,-15.791,66.6771
                ,-.6885,-15.791,64.3085,.7069,-11.7718,64.3085,.7069,-15.791,64.3085,.7069,15.4674,64.3085,1.9319,-11.7718,64.3085,-.6885,15.4674,-66.6766,-.6885,-11.7718,-64.3139,.7069,15.4674,66.6771,-1.9349,-11.7718,64.3085,1.9319,15.4674,64.3085,1.9319,-11.7718,-64.3139,1.9319,15.4674,-64.3139,-1.9349,15.4674,-64.3139,-1.9349,-11.7718,-64.3139,-1.9349,15.4674,64.3085
            ]),
            false);

            var _i;//indices & affected indices for shapekeys
            _i = new Uint32Array(180);
            _i.set([0,1,2,3,4,1,5,6,7,8,9,6,10,11,12,13,8,5,6,11,14,7,14,10,1,15,16,2,16,17,9,12,11,18,10,19,20,13,5,17,10,12,20,21,18,22,23,9,24,18
            ,4,16,19,17,24,0,20,4,19,15,23,17,12,23,25,2,26,27,21,5,26,20,7,28,5,18,27,7,29,25,30,0,29,13,2,31,0,13,30,23,0,3,1,3,24,4,5,8,6,8
            ,22,9,10,14,11,13,22,8,6,9,11,7,6,14,1,4,15,2,1,16,9,23,12,18,7,10,20,0,13,17,19,10,20,26,21,22,13,23,24,20,18,16,15,19,24,3,0,4,18,19
            ,23,2,17,23,30,25,26,28,27,5,28,26,7,27,28,18,21,27,29,31,25,0,31,29,2,25,31,13]);
            CONTIG(_i, 178, 29, 30);
            ret.setIndices(_i);

            ret.setVerticesData(_B.VertexBuffer.NormalKind, new Float32Array([
                -.3015,.9045,.3015,-.7071,0,.7071,-.9045,-.3015,.3015,-.5773,.5773,.5773,.7071,0,.7071,.3015,.9045,-.3015,.7071,0,-.7071,.9045,-.3015,-.3015,.5773,.5773,-.5773,-.7071,0,-.7071,.7071,-.7071,0,-.5773,-.5773,-.5773,-.7071,-.7071,0,-.3015,.9045,-.3015,.5773,-.5773,-.5773,.5773,-.5773,.5773,-.5773,-.5773,.5773
                ,-.7071,-.7071,0,.9045,-.3015,.3015,.7071,-.7071,0,.3015,.9045,.3015,.5773,-.5773,.5773,-.5773,.5773,-.5773,-.9045,-.3015,-.3015,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,.5773,.5773,.5773,-.5773,-.5773,.5773,.5773,-.5773,-.5773,.5773,-.5773,-.5773,-.5773,-.5773,-.5773,.5773,.5773
            ]),
            false);

            geo = (_B.Tools.Now - geo) / 1000;
            ret.setMaterialByID("node3_chassis_tray_mlb_cpu_dimm_x3_2.Material.005");
            ret.subMeshes = [];
            new _B.SubMesh(0, 0, 32, 0, 180, ret);
            if (scene._selectionOctree) {
                scene.createOrUpdateSelectionOctree();
            }
        }
        if (this.postConstruction) this.postConstruction();
        ret.initComplete = true;
        load = (_B.Tools.Now - load) / 1000;
        _B.Tools.Log("defined mesh: " + ret.name + (cloning ? " (cloned)" : "") + " completed:  " + load.toFixed(2) + ", geometry:  " + geo.toFixed(2) + ", skey:  " + shape.toFixed(2) + " secs");
        return ret;
    }

    function freshenShadowRenderLists(scene) {
        var renderList = [];
        for (var i = 0; i < scene.meshes.length; i++){
            if (scene.meshes[i]["castShadows"])
                renderList.push(scene.meshes[i]);
        }

        for (var i = 0; i < scene.lights.length; i++){
            if (scene.lights[i]._shadowGenerator)
                scene.lights[i]._shadowGenerator.getShadowMap().renderList = renderList;
        }
    }
    node3_chassis_tray_mlb_cpu_dimm_x3_2.freshenShadowRenderLists = freshenShadowRenderLists;
})(node3_chassis_tray_mlb_cpu_dimm_x3_2 || (node3_chassis_tray_mlb_cpu_dimm_x3_2 = {}));